2011-10-10 48 views
3

我想聲明一些PHP函數,我想在magento中的各個地方調用這些函數。通常在我的核心PHP項目中,我聲明瞭php函數在functions.php和我將這個文件包含在所有頁面中。我不熟悉MVC結構。因此,我可以在哪裏聲明這些類型的函數。我可以在哪裏聲明我的自定義函數在magento

由於

編輯: -

Mango_Myfunc.xml(表觀的/ etc /模塊)

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Mango_Myfunc> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Mango_Myfunc> 
    </modules> 
</config> 

的Config.xml(應用程序/代碼/本地/芒果/ MYFUNC /etc/configure.xml)

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Mango_Myfunc> 
      <version>0.1.0</version> 
     </Mango_Myfunc> 
    </modules> 
    <global> 
     <helpers> 
      <Myfunc> 
       <class>Mango_Myfunc_Helper</class> 
      </Myfunc> 
     </helpers> 
    </global> 
</config> 

Data.php(應用程序/代碼/本地/芒果/ MYFUNC /幫手/ Data.php)

class Mango_Myfunc_Helper_Data extends Mage_Core_Helper_Abstract 
{ 

public function short_str ($str, $len, $suf = '...') { 
    if (strlen($str) > $len) 
     return substr($str, 0, $len - strlen($suf)) . $suf; 

    return $str; 
} 

} 

這是我加入

我用波紋管一個調用列表的功能。 PHTML

echo $this->helper('Myfunc/Data')->short_str("test","3"); got the error 

致命錯誤:類 'Mage_Myfunc_Helper_Data' 未找到

+1

看起來不錯。你刷新了緩存嗎? – Nick

+0

@Nick:是的,現在有效,謝謝 – Gowri

+0

並注意那些方法可能已經存在於核心助手中,您可能會先嚐試觀察它們 –

回答

6

的Magento對那些樣的方法輔助類。所以,讓你的擴展和你的方法,然後你可以稍後再打電話給他們喜歡如下

Mage::helper('yourextension/yourhelper')->yourMethod(); 

或者你可以做一個庫類出你的常用方法。

+1

您能否舉個例子。我試圖宣佈擴展但失敗。 echo Mage :: helper('Myfunc/helper') - > short_str(「asgafsgdasd」,「3」);我試過這個,但它只給出錯誤 – Gowri

+0

發佈你的助手類代碼和擴展config.xml文件以及 –

+1

:請檢閱我的更新 – Gowri

相關問題