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

Magento 如何从megento中的控制器调用模型类方法?,magento,model,controller,call,Magento,Model,Controller,Call,我在checkout/type name Cartpage.php中创建了一个新的模型类,它有一个方法名addValue($id)。要从签出/控制器处的OnepageController.php中的saveShippingMethodAction()调用此模型类方法。我用几种方式打过电话,但它给了我一个错误: 致命错误:对…/app/code/core/Mage/Checkout/controllers/OnepageController.php中的非对象调用成员函数addValue() 我试过

我在checkout/type name Cartpage.php中创建了一个新的模型类,它有一个方法名
addValue($id)
。要从签出/控制器处的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;
    }

}
型号:

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

如果您的模块位于
签出/model/Type/Cartpage.php
下,则要调用的正确
类组是
签出/Type\u Cartpage
所以使用
Mage::getSingleton('checkout/type_cartpage')而不是
Mage::getSingleton('checkout/cartpage')

但是,看起来您正在将模型类添加到
core
命名空间下,该命名空间在magento中是一个nogo


如果您的模块位于
Checkout/Model/Type/Cartpage.php
下,则在
本地
名称空间中创建您自己的模块,并为您想要/需要更改的部分创建
重写
,正确的
类组
调用是
Checkout/Type\u Cartpage
所以使用
Mage::getSingleton('checkout/type_cartpage')而不是
Mage::getSingleton('checkout/cartpage')

但是,看起来您正在将模型类添加到
core
命名空间下,该命名空间在magento中是一个nogo

本地
命名空间中创建您自己的模块,并为您想要/需要更改的部分创建
重写