Magento - пустая страница корзины, вызванная следующей функцией (сбой приложения)
У кого-нибудь есть какие-то идеи... есть примерно 15 мест, где вызывается эта функция, каждый раз, когда она срабатывает, кажется, что это проблема, она проходит через функцию, но сериализованная длина:
echo "Длина сериализована: " . StrLen(сериализации ($ это ->_ элементы));
выходит длиной около 8000.
public function getItemsCollection($useCache = true)
{
if (is_null($this->_items)) {
$this->_items = Mage::getModel('sales/quote_item')->getCollection()
->addFieldToFilter("quote_id", $this->getId())
;
#$this->_items->setQuote($this);
}
echo "Length serialized: " . strlen(serialize($this->_items));
exit;
return $this->_items;
}
2 ответа
Мне кажется, что в объекте предмета есть что-то странное. Как один из его членов имеет большой объект, связанный с ним. Я знаю, что у меня были проблемы с сохранением адресов в объекте сеанса. Может быть, есть что-то, что вы делаете вне этого - прикрепление большого объекта с ошибками. Вы можете сделать следующее, чтобы получить raw sql и запустить его в своей базе данных, чтобы увидеть, что возвращается
public function getItemsCollection($useCache = true)
{
if (is_null($this->_items)) {
$this->_items = Mage::getModel('sales/quote_item')->getCollection()
->addFieldToFilter("quote_id", $this->getId())
;
#$this->_items->setQuote($this);
}
echo (String)Mage::getModel('sales/quote_item')->getCollection()->getSelect();
exit;
return $this->_items;
}
У меня были те же проблемы, когда я кодировал с Magento, это связано с рекурсией, попробуйте var_dump() вместо echo()