2013-12-21 29 views
0

所以这一个有点奇怪。我确信现在对某些人来说这是一个老帽子,而且我只是做了一件糟糕的工作。如果是这种情况,我当然很抱歉,并要求你放纵,并与已经提供的答案联系起来。Magento帮手方法不起作用

所以我遵循了创建一个magento模块的核心指南,但由于某些原因它确实正常工作。当我var_dump helper类时它有正确的名字,但是当我尝试使用我在类定义中放置的某个方法时,它会引发异常。

此外,当我运行get_class_methods()对我给出的Mage::helper('mymodule/myhelper')没有我的方法。

在总结

所以:

  1. 类是在正确的地方,应用程序/代码/本地/ MyModule的/助手/ Myhelper.php
  2. 类显示为初始化我打电话后Mage::helper('mymodule/myhelper')
  3. 没有列出类方法,因此在调用时会破坏事物。

这里是我的配置参考。模块的其余部分似乎很好。

<?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> 
+0

异常文本? – freento

+0

你能显示你的文件结构吗? – MagentoDiary

回答

0
  1. 在管理下的系统>配置某处>高级保证你的模块已经registered.``
  2. 请确保您有在助手文件夹中的类APCShared_Shipping_Helper_Data在一个名为Data.php文件。你的类应该扩展Mage_Core_Helper_Abstract
  3. 访问与Mage::helper('apcshipping')

你的目录结构,你的助手应该是这样的:你的总结

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

在你的文件结构,第1点,你只用modulename,不是包名。

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

我不确定这是否会有所作为,但遵循编码惯例总是很好。