我在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
我已经浏览了社区论坛,但发现这是由于神奇的滑块或灯箱扩展。我没有在任何其他服务器上遇到此问题。
任何帮助请...
答案 0 :(得分:1)
根据行号,我主要运行的是不同版本的Magento,但如果你看Action.php
,你会看到类似的内容
protected function _setActiveMenu($menuPath)
{
$this->getLayout()->getBlock('menu')->setActive($menuPath);
return $this;
}
致电
$this->getLayout()->getBlock('menu')
应该返回一个块对象,但是如果你的系统不是。其中一个扩展中最可能的罪魁祸首是从您的布局中移除名为menu的块,或您的某个开发人员摆弄了一些布局和/或Core文件。
在您的开发环境中删除所有模块。如果问题消失,请重新启用,直到它再次启动,您将知道哪个模块导致您出现问题。如果问题没有消失,请抓取Magento的新副本并开始传播文件。
答案 1 :(得分:1)
我删除了所有扩展程序但尝试但没有成功,但是当我更换了adminhtml布局文件时,它工作了。 布局文件目录为adminhtml / default / default / layout /
答案 2 :(得分:0)
在删除模块之前,请尝试手动清除缓存文件。
转到var / cache并删除文件夹中的所有目录(如果提示有任何被拒绝的消息,请跳过这些项目)。请耐心等待,可能会有几千个缓存文件。完成后,尝试再次登录,10次中有9次可以。
答案 3 :(得分:0)
您将需要删除local.xml文件并重新安装您的商店(不会丢失数据 - 这会安装magento引擎而不会删除您的数据。
希望这会有所帮助。
答案 4 :(得分:0)
尝试:
ini_set('memory_limit', '256M');
在index.php
中或增加内存到你的php.ini。