2016-12-02 58 views
3

我已經在magento 1.9中創建了一個自定義模塊。並且我正在嘗試將我的模型中的方法加載到controller。但它顯示以下錯誤。致命錯誤:調用成員函數testing()在非對象上。 我在config.xml文件中加載模型如下。在magento自定義模型中顯示錯誤的模型方法

<models> 
    <sim_categorynewsletter> 
     <class>Sim_Categorynewsletter_Model</class> 
     <resourceModel>newsletter_mysql4</resourceModel> 
    </sim_categorynewsletter> 
    <newsletter_mysql4> 
     <class>Sim_Categorynewsletter_Model_Mysql4</class> 
     <entities> 
      <newsletter> 
       <table>sim_categorynewsletter</table> 
      </newsletter> 
     </entities> 
    </newsletter_mysql4> 
    </models> 

,這是我的模型類,newsletter.php

<?php 
class Sim_Categorynewsletter_Model_Newsletter extends Mage_Core_Model_Abstract 
{ 
    protected function _construct(){ 

     $this->_init("categorynewsletter/newsletter"); 
    } 
    public function testing(){ 
     echo "inside testing method"; 
    } 
} 

這是我comtroller,IndexController.php.Here我試圖加載models.But其示值誤差的方法。

<?php 
class Sim_Categorynewsletter_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function createAction(){ 
      echo Mage::getModel('categorynewsletter/newsletter')->testing(); 
    } 
} 
+0

請使用'$本 - > _的init( 「sim_categorynewsletter /通訊」);' –

+0

沒有......同樣的錯誤 –

+0

試試您的實例來自單獨的文件的模型,並通過get_class回顯它的類 – Shrikant

回答

0

我試圖創建相同的場景並發現錯誤。

<sim_categorynewsletter> 
    <class>Sim_Categorynewsletter_Model</class> 
    <resourceModel>newsletter_mysql4</resourceModel> 
</sim_categorynewsletter> 

到: 從替換下面的代碼

<categorynewsletter> 
    <class>Sim_Categorynewsletter_Model</class> 
    <resourceModel>newsletter_mysql4</resourceModel> 
</categorynewsletter>