覆盖adminhtml sales_order_create模型

时间:2012-08-17 05:47:25

标签: magento overwrite adminhtml

我无法覆盖adminhtml模型,任何人都可以帮我解决我做错的地方......

模块XML

<?xml version="1.0"?> 
   <config> 
      <modules> 
        <Cc_Adminhtml> 
            <active>true</active> 
            <codePool>local</codePool> 
        </Cc_Adminhtml> 
      </modules> 
   </config>

配置XML

<?xml version="1.0"?>
<config>
    <modules>
        <Cc_Adminhtml>
            <version>0.1.0</version>
        </Cc_Adminhtml>
    </modules>
    <global>
        <models>            
            <adminhtml>
                    <rewrite>
                        <sales_order_create>Cc_Adminhtml_Model_Create</sales_order_create>
                    </rewrite>
            </adminhtml>
        </models>
    </global>
</config> 

PHP文件:

class Cc_Adminhtml_Model_Create extends Mage_Adminhtml_Model_Sales_Order_Create
{
    /**
     * Create new order
     *
     * @return Mage_Sales_Model_Order
     */
    public function createOrder()
    {
       // want to overwrite this method/function
    }
}

4 个答案:

答案 0 :(得分:0)

如果您的文件命名中没有拼写错误而不是缓存问题,则需要检查您是否具有覆盖相同模型的扩展名

答案 1 :(得分:0)

我已经用1.7 ce版检查了你的代码。它按预期工作。只需确保您具有以下文件夹结构。

-app/code/local/Cc/Adminhtml/etc/config.xml
-app/code/local/Cc/Adminhtml/Model/Create.php
-app/etc/modules/Cc_Adminhtml.xml

我尝试将exit放在createOrder()方法中,并打印一些消息,当我尝试从adminpanel创建新订单时单击提交订单按钮显示消息时。

我可以确认上面的代码工作正常。

答案 2 :(得分:0)

你的代码太棒了。重写步骤没有错误

如果你在PHP文件中显示所有文件内容,那么不要忘记添加

<?php 

在最开始的PHP文件上。

如果已添加,则尝试刷新所有 Magento缓存

答案 3 :(得分:-2)

重写标签应如下: Cc_Adminhtml_Model_Sales_Order_Create

相关问题