Magento - пустая страница корзины, вызванная следующей функцией (сбой приложения) - PullRequest
0 голосов
/ 03 августа 2011

У кого-нибудь есть какие-то идеи ... есть примерно 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 ]

1 голос
/ 03 августа 2011

Мне кажется, что в объекте предмета есть что-то странное.Как один из его членов имеет большой объект, связанный с ним.Я знаю, что у меня были проблемы с сохранением адресов в объекте сеанса.Может быть, есть что-то, что вы делаете вне этого - прикрепление большого объекта с ошибками.Вы можете сделать следующее, чтобы получить 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;

    } 
0 голосов
/ 03 августа 2011

У меня были те же проблемы, когда я кодировал с Magento, это связано с рекурсией, попробуйте var_dump () вместо echo ()

...