Magento助手方法不起作用

时间:2013-12-21 02:26:40

标签: magento config helper

所以这个有点奇怪。我确定现在对某些人来说是老套的,我刚刚找到了一份糟糕的工作。如果是这种情况,我当然会道歉并要求您放纵并链接到已经提供的答案。

所以我已经按照核心指南创建了magento模块,但由于某种原因它确实可行。当我var_dump辅助类时,它具有正确的名称,但是当我尝试使用我在类定义中放入的方法之一时,它会引发异常。

此外,当我在get_class_methods()给我的课程上运行Mage::helper('mymodule/myhelper')时,我的方法都不存在。

总结如下:

  1. 班级位于正确的位置,app / code / local / MyModule / Helper / Myhelper.php
  2. 在我致电Mage::helper('mymodule/myhelper')
  3. 后,该课程显示为已初始化
  4. 未列出类方法,因此在调用时会中断。
  5. 这是我的配置供参考。模块的其余部分似乎没问题。

    <?xml version="1.0"?>
    
    <config>
      <modules>
        <APCShared_Shipping>
          <version>0.1.0</version>
        </APCShared_Shipping>
      </modules>
      <frontend>
        <routers>
          <apcshipping>
            <use>standard</use>
            <args>
              <module>APCShared_Shipping</module>
              <frontName>apcshipping</frontName>
            </args>
          </apcshipping>
        </routers>
      </frontend>
      <global>
        <blocks>
          <apcshipping>
            <class>APCShared_Shipping_Block</class>
          </apcshipping>
        </blocks>
        <helpers>
          <apcshipping>
            <class>APCShared_Shipping_Helper</class>
          </apcshipping>
        </helpers>
        <models>
          <apcshipping>
            <class>APCShared_Shipping_Model</class>
            <resourceModel>shipping_resource</resourceModel>
          </apcshipping>
          <apcshipping_resource>
            <class>APCShared_Shipping_Model_Resource</class>
            <entities>
              <zipcode>
                <table>apc_shipping_zipcode</table>
              </zipcode>
            </entities>
          </apcshipping_resource>
        </models>
      </global>
    </config>
    

2 个答案:

答案 0 :(得分:0)

  1. 在System&gt;下的某个管理员中配置&gt;高级确保您的模块已注册.`
  2. 确保在名为Data.php的文件中的Helpers文件夹中有类APCShared_Shipping_Helper_Data。您的课程应该延长Mage_Core_Helper_Abstract
  3. 使用Mage::helper('apcshipping')
  4. 访问您的助手

    您的目录结构应类似于:

    - Module Folder
     - etc
       - config.xml
     - Helper
       - Data.php
    

答案 1 :(得分:0)

在您的文件结构中,摘要的第1点,您只使用模块名称,而不是包名称。

所以它应该是:app / code / local / MyCompany / MyModule / Helper / Myhelper.php而不是app / code / local / MyModule / Helper / Myhelper.php。

我不确定这是否会产生影响,但遵循编码惯例总是好的。