Требуется объект класса «Mage_Catalog_Model_Product», но вместо него получена переменная типа «object»

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

01.09.2011 13:06

Раньше все работало нормально и в залогиненном режиме товары добавлялись и в корзину , и в пожелания. Сегодня мы получили несколько жалоб от посетителей сайта о том что после того, как они входят в свою клиентскую учетную запись на сайте, у них не получается добавить товары в корзину, а также добавить товары в пожелания. Проблема проявлялась во всех основных браузерах. Никаких действий с нашей стороны возникновению данной проблемы не предшествовало.
Мы проверили в Firefox: после того как залогинились, попробовали добавить товар в корзину. В итоге проявилась следующая ошибка:
There has been an error processing your request
[Df_Catalog_Helper_Image::setProduct]
Параметр «product» забракован проверяющим «Df_Zf_Validate_Class».
Сообщения проверяющего:
Требуется объект класса «Mage_Catalog_Model_Product», но вместо него получена переменная типа «object».



Trace:
#0 /home/www/domik-hobby.ru/app/code/local/Df/Qa/Helper/Method.php(798): Df_Qa_Helper_Method::throwException()
#1 /home/www/domik-hobby.ru/app/code/local/Df/Qa/Helper/Method.php(779): Df_Qa_Helper_Method->throwException()
#2 /home/www/domik-hobby.ru/app/code/local/Df/Qa/Helper/Method.php(385): Df_Qa_Helper_Method->validateParam()
#3 /home/www/domik-hobby.ru/app/code/local/Df/Core/lib/fp.php(91): Df_Qa_Helper_Method->validateParamClass()
#4 /home/www/domik-hobby.ru/app/code/local/Df/Catalog/Helper/Image.php(23): df_param_object()
#5 /home/www/domik-hobby.ru/app/code/core/Mage/Catalog/Helper/Image.php(71): Df_Catalog_Helper_Image->setProduct(Object(Mage_Wishlist_Model_Item))
#6 /home/www/domik-hobby.ru/app/design/frontend/base/theme070/template/wishlist/sidebar.phtml(37): Mage_Catalog_Helper_Image->init(Object(Mage_Wishlist_Model_Item), 'thumbnail')
#7 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(216): include('/home/www/domik...')
#8 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(247): Mage_Core_Block_Template->fetchView('frontend/base/t...')
#9 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(261): Mage_Core_Block_Template->renderView()
#10 /home/www/domik-hobby.ru/app/code/core/Mage/Wishlist/Block/Customer/Sidebar.php(61): Mage_Core_Block_Template->_toHtml()
#11 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Wishlist_Block_Customer_Sidebar->_toHtml()
#12 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#13 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Core_Block_Text_List->_toHtml()
#14 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(525): Mage_Core_Block_Abstract->toHtml()
#15 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(476): Mage_Core_Block_Abstract->_getChildHtml('right', true)
#16 /home/www/domik-hobby.ru/app/design/frontend/base/theme070/template/page/2columns-right.phtml(48): Mage_Core_Block_Abstract->getChildHtml('right')
#17 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(216): include('/home/www/domik...')
#18 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(247): Mage_Core_Block_Template->fetchView('frontend/base/t...')
#19 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(261): Mage_Core_Block_Template->renderView()
#20 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Core_Block_Template->_toHtml()
#21 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Model/Layout.php(529): Mage_Core_Block_Abstract->toHtml()
#22 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Action.php(389): Mage_Core_Model_Layout->getOutput()
#23 /home/www/domik-hobby.ru/app/code/core/Mage/Cms/Helper/Page.php(130): Mage_Core_Controller_Varien_Action->renderLayout()
#24 /home/www/domik-hobby.ru/app/code/core/Mage/Cms/Helper/Page.php(52): Mage_Cms_Helper_Page->_renderPage(Object(Mage_Cms_IndexController), 'home')
#25 /home/www/domik-hobby.ru/app/code/core/Mage/Cms/controllers/IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), 'home')
#26 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Cms_IndexController->indexAction()
#27 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('index')
#28 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#29 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#30 /home/www/domik-hobby.ru/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#31 /home/www/domik-hobby.ru/index.php(81): Mage::run('', 'store')
#32 {main}

После возникновения данной ошибки, залогиненный пользователь не может просмотреть ни одной страницы сайта, потому что все время проявляется данная ошибка. Просмотр сайта становится вновь возможным через некоторое время, когда сайт перестает воспринимать посетителя, как залогиненного пользователя сайта. При этом в незалогиненном режиме добавление товара в корзину работает, и если залогиниться на стадии оформления заказа, тогда заказ можно оформить без проблем.

Сталкивался ли кто-то с подобными проблемами, и какие есть варианты по их устранению?

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

01.09.2011 13:10

Может, вы устанавливали какие-либо сторонние модули, обновляли систему или дорабатывали программный код сайта?

#3 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

01.09.2011 15:03

Между моментом, когда все работало, и моментом, когда проблема проявилась, никаких установок дополнительных модулей не проводилось и код сайта не редактировался.

#4 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

01.09.2011 16:54

А из текста ошибки хотя бы можно понять, где искать причину?

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

01.09.2011 17:06

Только что успешно оформил заказ на вашем сайте, будучи предварительно авторизованным.
Старйтесь точнее описывать проблемы, в частности, писать по шагам конкретную процедуру, гарантированно приводящую к воспроизведению дефекта.

#6 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

01.09.2011 18:44

Действия, которые приводят к проблеме по шагам:
1. Заходим на сайт, логинимся.
2. Заходим в какой-либо из товарных разделов (иногда проблема появляется уже на этом этапе, еще утром так не было).
3. Открываем товар и нажимаем добавить к корзине - это действие привело к вышеуказанной проблеме почти во всех случаях. Первая проверка после получения двух писем с жалобами от покупателей не показала проблем. И товар, залогинившись, удалось добавить к корзине. Потом в остальных 5 случаях проблема проявлялась при проверке с двух компьютеров. А сейчас проявляется даже при открытии товарного каталога (при условии, что ты перед этим залогинился).
Возможно, что проблема плавающая, либо проявляется в каких-то особых случаях, но тогда сложно понять закономерность.

Вариант "добавили товары - залогинились - оформили заказ" проходит без проблем.


Пробовали перезагружать сервер, пробовали полностью обновлять кэш в админке - результата ничего не принесло.

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

01.09.2011 19:49

Оформил ещё один заказ по той же учётной записи в вашем магазине.
Видео сделайте.

#8 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

01.09.2011 21:07

Дмитрий, добрый вечер

Отправил Вам ссылку на видео в личку.

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

03.09.2011 13:04

Дефект был в вашем шаблоне app/design/frontend/base/theme070/template/wishlist/view.phtml
Исправил.

#10 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

04.09.2011 00:03

Дмитрий, огромное спасибо за помощь!

К сожалению, проблема не прекратилась, причем речь идет уже о том, что авторизованным не получается даже открыть любой каталог и посмотреть товары. Непонятно, каким образом эта проблема проявляется избирательно, учитывая, что у Вас получалось при тех же условиях оформить заказ.

При тех же вышеописанных условиях браузер выдает следующее:

There has been an error processing your request

[Df_Catalog_Helper_Image::setProduct]
Параметр «product» забракован проверяющим «Df_Zf_Validate_Class».
Сообщения проверяющего:
Требуется объект класса «Mage_Catalog_Model_Product», но вместо него получена переменная типа «object».



Trace:
#0 /home/www/domik-hobby.ru/app/code/local/Df/Qa/Helper/Method.php(779): Df_Qa_Helper_Method->throwException()
#1 /home/www/domik-hobby.ru/app/code/local/Df/Qa/Helper/Method.php(385): Df_Qa_Helper_Method->validateParam()
#2 /home/www/domik-hobby.ru/app/code/local/Df/Core/lib/fp.php(99): Df_Qa_Helper_Method->validateParamClass()
#3 /home/www/domik-hobby.ru/app/code/local/Df/Catalog/Helper/Image.php(23): df_param_object()
#4 /home/www/domik-hobby.ru/app/code/core/Mage/Catalog/Helper/Image.php(71): Df_Catalog_Helper_Image->setProduct(Object(Mage_Wishlist_Model_Item))
#5 /home/www/domik-hobby.ru/app/design/frontend/base/theme070/template/wishlist/sidebar.phtml(37): Mage_Catalog_Helper_Image->init(Object(Mage_Wishlist_Model_Item), 'thumbnail')
#6 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(216): include('/home/www/domik...')
#7 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(247): Mage_Core_Block_Template->fetchView('frontend/base/t...')
#8 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(261): Mage_Core_Block_Template->renderView()
#9 /home/www/domik-hobby.ru/app/code/core/Mage/Wishlist/Block/Customer/Sidebar.php(61): Mage_Core_Block_Template->_toHtml()
#10 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Wishlist_Block_Customer_Sidebar->_toHtml()
#11 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#12 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Core_Block_Text_List->_toHtml()
#13 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(525): Mage_Core_Block_Abstract->toHtml()
#14 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(476): Mage_Core_Block_Abstract->_getChildHtml('right', true)
#15 /home/www/domik-hobby.ru/app/design/frontend/base/theme070/template/page/3columns.phtml(52): Mage_Core_Block_Abstract->getChildHtml('right')
#16 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(216): include('/home/www/domik...')
#17 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(247): Mage_Core_Block_Template->fetchView('frontend/base/t...')
#18 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Template.php(261): Mage_Core_Block_Template->renderView()
#19 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Block/Abstract.php(758): Mage_Core_Block_Template->_toHtml()
#20 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Model/Layout.php(529): Mage_Core_Block_Abstract->toHtml()
#21 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Action.php(389): Mage_Core_Model_Layout->getOutput()
#22 /home/www/domik-hobby.ru/app/code/core/Mage/Catalog/controllers/CategoryController.php(152): Mage_Core_Controller_Varien_Action->renderLayout()
#23 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Catalog_CategoryController->viewAction()
#24 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('view')
#25 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#26 /home/www/domik-hobby.ru/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#27 /home/www/domik-hobby.ru/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#28 /home/www/domik-hobby.ru/index.php(81): Mage::run('', 'store')
#29 {main}

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

04.09.2011 00:15

Аналогичный вышеописанному дефект был в вашем шаблоне app/design/frontend/base/theme070/template/wishlist/sidebar.phtml
Исправил.

#12 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

04.09.2011 21:34

Огромное спасибо! Действительно, все заработало. Непонятно, почему эти дефекты ранее не проявляли себя и активизировались в последнее время.
Спасибо!

#13 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

05.09.2011 22:55

Дмитрий,

Могли ли проведенные действия по устранению дефекта в шаблоне привести к следующей ошибке:
Страницы товаров, имеющие в своем адресе русские буквы перестали открываться, выдается ошибка 404. Также перестали открываться каталоги, в адресах которых присутствуют русские буквы, - выдается страница браузера "Во время загрузки страницы соединение с сервером было сброшено".

Так как за последнее время каких-то настроек я не менял, плюс появление этих проблем совпало с решением проблем из этой темы, решил обратиться к Вам с данным вопросом.

Заранее спасибо.

#14 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

06.09.2011 01:36

После глобальной переиндексации всего и вся ошибка пропала. Либо это Вы, Дмитрий, успели что-то сделать?

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