Call to a member function isShippingLabelsAvailable() on a non-object

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

10.12.2011 13:35

При просмотре заказа, если нажать на "Ship" не получается сохранить результат доставки, т.к. появляется ошибка
Fatal error: Call to a member function isShippingLabelsAvailable() on a non-object in /app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create/Items.php on line 132
Прикрепленное изображение: Безымянный.JPG
Помогите разобраться

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

10.12.2011 13:39

Прикрепите снимок административного экрана проблемного заказа с видимой областью способа доставки.

#3 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

10.12.2011 13:56

Пожалуйста
Прикрепленное изображение: Безымянный.JPG
Данная проблема возникает со всеми способами доставки

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

10.12.2011 14:01

Проиллюстрируйте данную проблему снимком данного экрана с каким-либо стандартным способом доставки, например, Flat Rate.

#5 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

10.12.2011 14:06

Дмитрий, это и есть flat rate, только введено другое название и стоимость установлена на 0

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

10.12.2011 14:07

Прикрепите снимок экрана с англоязычным языковым интерфейсом, чтобы я видел, что это Flat Rate.

#7 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

10.12.2011 14:16

Прикрепленное изображение: Безымянный.JPG

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

10.12.2011 14:24

Какова версия интерпретатора PHP на вашем сервере?

#9 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

10.12.2011 14:38

PHP Version 5.2.6-1


Мне помог этот способ, найденный в интнете
Modify the following two files:
app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create/Items.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/View/Form.php

and change their canCreateShippingLabel() method with:


 public function canCreateShippingLabel()
 {
 $carrier = $this->getOrder()->getShippingCarrier();
 if(method_exists($carrier, 'isShippingLabelsAvailable')) {
 return $carrier->isShippingLabelsAvailable();
 } else {
 return false;
 }
 }


Если не затруднит, поясните, что изменилось

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

10.12.2011 14:42

Причиной проблемы является устаревшая и несовместимая с Magento версия интерпретатора PHP.
Обращаю внимание читателей этой темы, что править системные файлы, как написал seadon - неправильное решение, потому что изменения перетрутся при обновлении Magento.
Правильное решение проблемы: обновить версию интерпретатора PHP.

Для беспроблемной работы Magento требует интерпретатор PHP версии не ниже 5.2.13.

Поделиться темой: