PDO::quote() expects parameter 1 to be string, object given

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

09.11.2011 12:23

Есть блок в левой колонке, клиент захотел его переместить в правую
в cms.xml нашел описание этого блока
<default>
...
<reference name="right"> 
			<block type="cms/block" name="cms_promotion_du_mois">
				<action method="setBlockId"><block_id>new_mag</block_id></action>
			</block>
			
		</reference>
...

На страницах где трехколоночный макет выводится нормально, но на странице где двухколоночный ошибка

Цитата

Warning: PDO::quote() expects parameter 1 to be string, object given in G:\Projects\Fute\lib\Zend\Db\Adapter\Pdo\Abstract.php on line 252

#0 [internal function]: mageCoreErrorHandler(2, 'PDO::quote() ex...', 'G:\Projects\Fute...', 252, Array)
#1 G:\Projects\Fute\lib\Zend\Db\Adapter\Pdo\Abstract.php(252): PDO->quote(Object(Mage_Catalog_Model_Category))
#2 G:\Projects\Fute\lib\Zend\Db\Adapter\Abstract.php(839): Zend_Db_Adapter_Pdo_Abstract->_quote(Object(Mage_Catalog_Model_Category))
#3 G:\Projects\Fute\lib\Zend\Db\Adapter\Abstract.php(864): Zend_Db_Adapter_Abstract->quote(Object(Mage_Catalog_Model_Category), NULL)
#4 G:\Projects\Fute\lib\Varien\Db\Adapter\Pdo\Mysql.php(1088): Zend_Db_Adapter_Abstract->quoteInto('entity_id=?', Object(Mage_Catalog_Model_Category), NULL, NULL)
#5 G:\Projects\Fute\lib\Zend\Db\Select.php(895): Varien_Db_Adapter_Pdo_Mysql->quoteInto('entity_id=?', Object(Mage_Catalog_Model_Category), NULL)
#6 G:\Projects\Fute\lib\Zend\Db\Select.php(433): Zend_Db_Select->_where('entity_id=?', Object(Mage_Catalog_Model_Category), NULL, true)
#7 G:\Projects\Fute\lib\Varien\Db\Select.php(55): Zend_Db_Select->where('entity_id=?', Object(Mage_Catalog_Model_Category), NULL)
#8 G:\Projects\Fute\app\code\core\Mage\Eav\Model\Entity\Abstract.php(865): Varien_Db_Select->where('entity_id=?', Object(Mage_Catalog_Model_Category))
#9 G:\Projects\Fute\app\code\core\Mage\Eav\Model\Entity\Abstract.php(816): Mage_Eav_Model_Entity_Abstract->_getLoadRowSelect(Object(Mage_Catalog_Model_Category), Object(Mage_Catalog_Model_Category))
#10 G:\Projects\Fute\app\code\core\Mage\Core\Model\Abstract.php(216): Mage_Eav_Model_Entity_Abstract->load(Object(Mage_Catalog_Model_Category), Object(Mage_Catalog_Model_Category), NULL)
#11 G:\Projects\Fute\app\code\core\Mage\Catalog\Block\Product\List.php(96): Mage_Core_Model_Abstract->load(Object(Mage_Catalog_Model_Category))
#12 G:\Projects\Fute\app\code\core\Mage\Catalog\Block\Product\List.php(146): Mage_Catalog_Block_Product_List->_getProductCollection()
#13 G:\Projects\iReFute\app\code\core\Mage\Core\Block\Abstract.php(642): Mage_Catalog_Block_Product_List->_beforeToHtml()
#14 G:\Projects\Fute\app\code\core\Mage\Core\Model\Email\Template\Filter.php(135): Mage_Core_Block_Abstract->toHtml()
#15 [internal function]: Mage_Core_Model_Email_Template_Filter->blockDirective(Array)
#16 G:\Projects\Fute\lib\Varien\Filter\Template.php(134): call_user_func(Array, Array)
#17 G:\Projects\Fute\app\code\core\Mage\Cms\Block\Block.php(52): Varien_Filter_Template->filter('{{block type="c...')
#18 G:\Projects\Fute\app\code\core\Mage\Core\Block\Abstract.php(643): Mage_Cms_Block_Block->_toHtml()
#19 G:\Projects\Fute\app\code\core\Mage\Core\Block\Text\List.php(43): Mage_Core_Block_Abstract->toHtml()
#20 G:\Projects\Fute\app\code\core\Mage\Core\Block\Abstract.php(643): Mage_Core_Block_Text_List->_toHtml()
#21 G:\Projects\Fute\app\code\core\Mage\Core\Block\Abstract.php(503): Mage_Core_Block_Abstract->toHtml()
#22 G:\Projects\Fute\app\code\core\Mage\Core\Block\Abstract.php(454): Mage_Core_Block_Abstract->_getChildHtml('right', true)
#23 G:\Projects\tFute\app\design\frontend\default\jm_purity_pro\template\page\2columns-right.phtml(84): Mage_Core_Block_Abstract->getChildHtml('right')
...


В чем может быть проблема?

Спасибо!

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

09.11.2011 12:34

Проблема в переносимом модуле.
Видимо, в двухколоночном макете модуль вообще раньше не отображался, поэтому дефект ранее и не возникал.
Обратите внимание, что модуль формирует ошибочный запрос SQL, передавая в качестве значения entity_id не идентификатор объекта, а сам объект.

#3 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

09.11.2011 12:42

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

#4 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

09.11.2011 12:48

Вроде нашел вьюху, но оказалось не она за блок отвечает :( В тупике...

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

09.11.2011 12:51

У вас ведь есть стек вызовов.
Шаг 11 - это уже сбой системы:
#11 G:\Projects\Fute\app\code\core\Mage\Catalog\Block\Product\List.php(96): Mage_Core_Model_Abstract->load(Object(Mage_Catalog_Model_Category))

#6 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

09.11.2011 12:54

дебажу...

#7 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

09.11.2011 13:05

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

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