Magento- вызов функции-члена setSaveParametersInSession() для не-объекта в ~/container.php в строке 59

#php #mysql #xml #magento

#php #mysql #xml #magento

Вопрос:

Я использую Magento 1.5 и получаю сообщение о неустранимой ошибке при попытке получить доступ к «Клиенты-> Управление клиентами» из серверной части Magento. сведения об ошибке :

 Call to a member function setSaveParametersInSession() on a non-object in
  

/my_domain.com/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Container.php
в строке 59

и это спокойствие кода внутри Container.php где Magento застревает

 protected function _prepareLayout()
{
    $this->setChild( 'grid',
        $this->getLayout()->createBlock( $this->_blockGroup.'/' . $this->_controller . '_grid',
        $this->_controller . '.grid')->setSaveParametersInSession(true) );
    return parent::_prepareLayout();
}
  

любая помощь была бы высоко оценена
Спасибо

Ответ №1:

Из вопроса неясно, но …

Я полагаю, вы получили эту ошибку при создании нового модуля с контроллером adminhtml.

Если это так …

Ошибка может быть вызвана ошибочным _blockGroup объявлением в блоках, которые расширяют Mage_Adminhtml_Block_Widget_Grid_Container

Надеюсь, это поможет

Комментарии:

1. @franceso, ты можешь мне помочь?… я создал новый модуль, как вы сказали .. затем я получил эту ошибку во внешнем интерфейсе….. Что я делаю?

2. это ошибка: Fatal error: Call to a member function getBackend() on a non-object in D:wampwwwmysiteappcodecoreMageEavModelEntityAbstract.php on line 816

3. Как я писал выше, вы, вероятно, неправильно установили _blockGroup в контейнере grid

Ответ №2:

Я просто получаю ту же проблему, когда захожу в пользовательский модуль на своем сайте и вижу, что я получил ошибку, потому что я пропустил файл Grid.php в папке app/code/local/Magestore/Affiliateplus/Block/Adminhtml/Banner/Grid.php . Когда я снова загружаю этот файл, проблема была решена. Надеюсь, это поможет.

Ответ №3:

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

В моем случае для этой проблемы файл был размещен в неправильном месте. Я поместил Grid.php в папке controller / Adminhtml вместо того, чтобы Block/Adminhtml//Grid.php

Ответ №4:

Вот подробности, в вашем случае проблема заключается в инициализации блока ИЛИ расположении Grid.php . Перейдите по этой ссылке, это поможет :https://magento.stackexchange.com/questions/10848/setsaveparametersinsession-on-a-non-object