我是magento的新手。我尝试为教程中的管理员创建自定义模块,当我尝试访问管理面板时,我得到了Fatal error: Uncaught Error: Class 'Mage_Sample_Helper_Data' not found
。
如果我禁用了该模块,则管理员可以正常工作。
无法理解 Mage 别名而不是 Lern
感谢您的帮助。
文件如下:
文件夹:
app
code
local
Lern
Sample
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Lern_Sample>
<version>0.1.0</version>
</Lern_Sample>
</modules>
<frontend>
<routers>
<sample>
<use>standard</use>
<args>
<module>Lern_Sample</module>
<frontName>sample</frontName>
</args>
</sample>
</routers>
</frontend>
<admin>
<routers>
<sample>
<use>admin</use>
<args>
<module>Lern_Sample</module>
<frontName>admin_sample</frontName>
</args>
</sample>
</routers>
</admin>
<global>
<helpers>
<helloworld>
<class>Lern_Sample_Helper</class>
</helloworld>
</helpers>
</global>
<adminhtml>
<menu>
<sample module="sample">
<title>Sample Module</title>
<sort_order>100</sort_order>
<children>
<sample module="sample">
<title>Sample Module</title>
<sort_order>0</sort_order>
<action>admin_sample/adminhtml_index</action>
</sample>
</children>
</sample>
</menu>
</adminhtml>
Helpers文件夹-文件Data.php
class Lern_Sample_Helper_Data extends Mage_Core_Helper_Abstract {
}
Adminhtml控制器:
class Lern_Sample_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action {
/**
* Admin controller index action
*
* @access public
* @return void
*/
public function indexAction() {
echo 'hello world in the admin side..!!!'. '';
}
}
答案 0 :(得分:0)
之所以会调用您的帮助程序,是因为您声明sample
为该帮助程序的模块,应调用该模块来翻译菜单标题。但是问题是,在您的config.xml
中,您声明了模块的辅助函数,可通过字符串helloworld
而不是sample
来调用。
修复它的两种方法。
第一种方法(在给定模块名称的情况下,也是最一致的方法),像这样修改助手的调用:
<helpers>
<sample>
<class>Lern_Sample_Helper</class>
</sample>
</helpers>
第二种方法,修改菜单声明中调用的模块帮助程序,如下所示:
<menu>
<sample module="helloworld">
<title>Sample Module</title>
<sort_order>100</sort_order>
<children>
<sample module="helloworld">
<title>Sample Module</title>
<sort_order>0</sort_order>
<action>admin_sample/adminhtml_index</action>
</sample>
</children>
</sample>
</menu>