2

我无法覆盖 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 文件:

类 Cc_Adminhtml_Model_Create 扩展了 Mage_Adminhtml_Model_Sales_Order_Create
{
    /**
     * 创建新订单
     *
     * @return Mage_Sales_Model_Order
     */
    公共函数 createOrder()
    {
       // 想要覆盖这个方法/函数
    }
}
4

4 回答 4

0

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

于 2012-08-17T07:14:48.100 回答
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

我试图在 createOrder() 方法中退出并打印一些消息,当我尝试单击提交订单按钮时​​,它在从管理面板创建新订单时显示消息。

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

于 2012-08-17T14:18:02.850 回答
-1

你的代码太棒了。您的重写步骤没有任何问题

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

<?php 

在最开始的 PHP 文件上。

如果已添加,请尝试刷新所有Magento Cache

于 2012-08-23T16:47:14.770 回答
-2

重写标记应如下:Cc_Adminhtml_Model_Sales_Order_Create

于 2015-08-15T02:54:12.160 回答