【问题标题】:How to call model class method from controller in megento?如何从magento中的控制器调用模型类方法?
【发布时间】:2014-12-29 16:07:05
【问题描述】:

我在结帐/类型名称 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 调用我的自定义模型?

【问题讨论】:

    标签: magento model controller call


    【解决方案1】:

    如果您的模块位于Checkout/Model/Type/Cartpage.php 下,则正确的classgroupto 调用是checkout/type_cartpage
    所以使用Mage::getSingleton('checkout/type_cartpage'); 而不是Mage::getSingleton('checkout/cartpage');

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多