首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento在Adminhtml中覆盖失败

Magento在Adminhtml中覆盖失败
EN

Stack Overflow用户
提问于 2015-06-12 22:18:55
回答 2查看 420关注 0票数 2

因此,我已经尝试了所有我能想到的关于这个订单信息页面,并用尽了我能想到的每一个搜索,所以现在我需要问。我正在尝试重写admin>sales order>view订单页面。我已经创建了模块,以覆盖我认为的区域,但它正在变得很时髦。

模块的config.xml

代码语言:javascript
复制
<config>
<modules>
    <Mage_Salespage>
        <version>0.1.0</version>
    </Mage_Salespage>
</modules>

<global>

    <blocks>

        <adminhtml>
            <rewrite>
                <sales_order_view>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view>
            </rewrite>
        </adminhtml>

    </blocks>

    <helpers>
        <mage_salespage>
            <class>Mage_Salespage_Helper</class>
        </mage_salespage>
    </helpers>
    <models>
        <mage_salespage>
            <class>Mage_Salespage_Model</class>
        </mage_salespage>
    </models>

</global>

模块的Info.php

代码语言:javascript
复制
class Mage_Salespage_Block_Sales_Order_View_Info extends Mage_Adminhtml_Block_Sales_Order_View_Info
{
    protected function _construct()
    {
    $this->setTemplate('salespage/sales/order/view/info.phtml');
    }     
}

问题显示在http://i.imgur.com/mqF5aEH.png,因为我没有足够的代表,但我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-13 06:39:57

不确定的McKenzie,在config.xml的块类型代码中存在问题。

您想重写类Mage_Adminhtml_Block_Sales_Order_View_Info

如magento所述,块类型是

adminhtml/sales_order_view_info,但你重写了admihtml/sales_order_view类。

当一个块类型为adminhtml/sales_order_view_info时,它将通过这个过程进行类模拟:

  • adminhtml -> Mage_Adminhtml_Block
  • sales_order_view_info -> Sales_Order_View_Info

最后一堂课是Mage_Adminhtml_Block_Sales_Order_View_Info

所以你需要在

从…

代码语言:javascript
复制
<sales_order_view>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view>

代码语言:javascript
复制
<sales_order_view_info>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view_info>
票数 1
EN

Stack Overflow用户

发布于 2015-06-13 01:21:20

有几件事可能会发生在这里。首先,你确定把它放在正确的文件夹里了吗?如果将其放入块/Adminhtml/sales/order/view.php中,则需要调整类名和xml声明。您可以通过打开index.php文件中的DEV模式来快速检查这一点。

另一件更常见的事情是,如果有另一个模块正在覆盖此方法。因为Magento按字母顺序加载模块,所以您可能没有机会先重写类。如果是这样的话,只需要在app/etc/modules/module.xml文件中添加一个依赖子句。

我会下载这个分机:http://www.magepsycho.com/easy-template-path-hints.html

它允许您通过添加一些url参数并在admin中工作来运行模板路径提示。这将显示您的产品视图块是否使用核心,或者是否使用其他扩展代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30812970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档