Неустранимая ошибка: вызов функции-члена setActive () для необъекта - PullRequest
1 голос
/ 30 сентября 2010

Я получаю следующую ошибку на сервере Magento:

Fatal error: Call to a member function setActive() on a non-object in /var/www/vhosts/pro-pin.ca/httpdocs/app/code/core/Mage/Adminhtml/Controller/Action.php on line 82

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

Любая помощь, пожалуйста ..

Ответы [ 5 ]

1 голос
/ 01 октября 2010

Я удалил все расширения и попытался, но безуспешно, но когда я заменил файлы макета adminhtml, все заработало. Директория файлов макета была adminhtml / default / default / layout /

1 голос
/ 30 сентября 2010

Исходя из номера строки, я в основном использую версию Magento, отличную от вас, но если вы посмотрите на Action.php, вы увидите что-то вроде

protected function _setActiveMenu($menuPath)
{
    $this->getLayout()->getBlock('menu')->setActive($menuPath);
    return $this;
}

Звонок на

$this->getLayout()->getBlock('menu')

должен возвращать блочный объект, но если ваша система это не так. Наиболее вероятный виновник в одном из ваших расширений - удаление блока с именем menu из вашего макета, или , один из ваших разработчиков возился с некоторыми файлами макетов и / или Core.

В вашей среде разработки удалите все ваши модули. Если проблема исчезнет, ​​включите ее снова, пока она не запустится снова, и вы узнаете, какой модуль вызывает у вас проблему. Если проблема не исчезнет, ​​возьмите свежую копию Magento и начните проверять файлы.

0 голосов
/ 18 марта 2015

Попробуйте:

ini_set('memory_limit', '256M');

в index.php или увеличьте объем памяти вашего php.ini.

0 голосов
/ 03 июля 2014

вам нужно будет удалить файл local.xml и переустановить ваш магазин (без потери данных - это устанавливает механизм magento без удаления ваших данных.

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

0 голосов
/ 16 сентября 2013

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

Перейдите в var / cache и удалите все каталоги в папке (при появлении любых запрещенных сообщений пропустите эти пункты). Будьте терпеливы, может быть несколько тысяч файлов кэша. Когда закончите, попробуйте войти снова, 9 из 10 раз вы сможете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...