2014-02-16 68 views
0

我已經在結帳/類型名稱Cartpage.php中創建了一個新的模型類,它有一個方法名稱addValue($id)。要在Checkout/controllers上的OnepageController.php中調用saveShippingMethodAction()中的模型類方法。我呼籲在幾個方面,但它給了我一個錯誤:如何從megento中的控制器調用模型類方法?

Fatal error: Call to a member function addValue() on a non-object in .../app/code/core/Mage/Checkout/controllers/OnepageController.php

我曾嘗試:

$myModel = Mage::getSingleton('checkout/cartpage'); 
$return = $myModel->addValue($my_value); 

型號:

class Mage_Checkout_Model_Type_Cartpage extends Mage_Sales_Model_Quote_Address_Total_Abstract 
{ 
     public function addValue($value) 
    { 
    return $value; 
    } 

} 

我怎麼能說我的自定義來自OnepageController的模型?

回答

4

如果您的模塊位於Checkout/Model/Type/Cartpage.php下正確classgroup調用是checkout/type_cartpage
所以使用Mage::getSingleton('checkout/type_cartpage');代替Mage::getSingleton('checkout/cartpage');

但是它看起來像你的core命名空間是在Magento一個NOGO下加入模型類。

創建你自己的模塊UND的local命名空間和創造rewrites您需要的零件/需要改變

+0

感謝的人它的工作.. @賈斯特斯克拉普 –

相關問題