未找到Magento 1.9自定义模块类

时间:2018-07-13 08:55:21

标签: magento magento-1.9

我是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..!!!'. '';

   }
 }

1 个答案:

答案 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>