2010-09-30 1 views
0

я получаю следующее сообщение об ошибке на бэкэнда Magento:Фатальная ошибка: Вызов функции члена SetActive() на не-объект

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 

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

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

ответ

1

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

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

вызов

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

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

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

1

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

0

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

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

0

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

Надеются, что это помогает

0

Try:..

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

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

Смежные вопросы