2013-12-21 60 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。

我不確定這是否會有所作爲,但遵循編碼慣例總是很好。