如何从magento中的控制器调用模型类方法?

时间:2014-02-16 12:44:25

标签: magento model controller call

我在结帐/类型名称Cartpage.php中创建了一个新的模型类,它的方法名称为addValue($id)。想要在Checkout / controllers的OnepageController.php中从saveShippingMethodAction()调用此模型类方法。我有几种方式打电话但它给了我一个错误:

  

致命错误:在... / app / code / core / Mage / Checkout / controllers / OnepageController.php

中的非对象上调用成员函数addValue()

我尝试过:

$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调用自定义模型?

1 个答案:

答案 0 :(得分:4)

如果您的模块位于Checkout/Model/Type/Cartpage.php下,正确的classgroup来电是checkout/type_cartpage
所以请使用Mage::getSingleton('checkout/type_cartpage');代替Mage::getSingleton('checkout/cartpage');

但是,您似乎要在core命名空间下添加模型类,该命名空间是magento中的nogo。

创建您自己的模块和local命名空间,并为您想要/需要更改的部分创建rewrites