Array to string conversion in app/design/adminhtml/default/default/template/eav/attribute/options.phtml

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Виталий Егоров
  • Группа: Клиент
  • Сообщений: 20
  • Регистрация: 24.03.2016

29.03.2016 12:02

После установки РСМ, при выборе положительного ответа (да) строки "Показывать ли на витринной товарной карточке?" атрибута "вес" вышла такая ошибка:

Notice: Array to string conversion in /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/design/adminhtml/default/default/template/eav/attribute/options.phtml on line 61

#0 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/design/adminhtml/default/default/template/eav/attribute/options.phtml(61): mageCoreErrorHandler(8, 'Array to string...', '/home/i/insandl...', 61, Array)
#1 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(241): include('/home/i/insandl...')
#2 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('adminhtml/defau...')
#3 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#4 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Adminhtml/Block/Template.php(81): Mage_Core_Block_Template->_toHtml()
#5 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Adminhtml_Block_Template->_toHtml()
#6 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Edit/Tabs.php(59): Mage_Core_Block_Abstract->toHtml()
#7 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(918): Mage_Adminhtml_Block_Catalog_Product_Attribute_Edit_Tabs->_beforeToHtml()
#8 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/local/Df/Core/Block/Text/List.php(20): Mage_Core_Block_Abstract->toHtml()
#9 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Df_Core_Block_Text_List->_toHtml()
#10 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml()
#11 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('left', true)
#12 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/design/adminhtml/default/default/template/page.phtml(58): Mage_Core_Block_Abstract->getChildHtml('left')
#13 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(241): include('/home/i/insandl...')
#14 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('adminhtml/defau...')
#15 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#16 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Adminhtml/Block/Template.php(81): Mage_Core_Block_Template->_toHtml()
#17 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Adminhtml_Block_Template->_toHtml()
#18 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml()
#19 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput()
#20 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php(122): Mage_Core_Controller_Varien_Action->renderLayout()
#21 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_Catalog_Product_AttributeController->editAction()
#22 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('edit')
#23 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#24 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#25 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#26 /home/i/insandlh/bislav.insandlh.bget.ru/public_html/index.php(87): Mage::run('', 'store')

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

29.03.2016 23:22

Тут непростая ситуация, где виноваты сразу двое: и программист магазина, и Magento Community Edition.
Программист магазина виноват тем, что удалил системное свойство, причём административный интерфейс Magento этого сделать не позволяет, и надо было вручную повреждать базу данных запросами SQL (или через phpMyAdmin).
Magento Community Edition виновата тем, что не показывает понятное сообщение в такой ситуации при включенных E_NOTICE.
Если E_NOTICE выключено, то Magento Community Edition сообщение покажет, но выключать E_NOTICE неправильно, да и Magento должна работать со включенным E_NOTICE правильно.

Повлиять на программистов магазина я не могу, но поведение Magento Community Edition я исправил.
Добавил к версии 2.49.4 Российской сборки Magento заплатку, исправляющую неверное поведение Magento Community Edition.
Теперь администратор увидит понятное сообщение о сбое:

Цитата

Свойство «weight» является системным, поэтому нельзя создать другое свойство с этим кодом.
Придумайте другой код.
Если в Вашем магазине свойство «weight» отсутствует — значит, некто повредил базу данных его удалением.
Удалять системные свойства нельзя, причём через административный интерфейс Magento это сделать невозможно.
Это надо было постараться вручную повредить базу данных.

Прикрепленное изображение: magento2-04.png

Ваш магазин уже обновил.

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