因此,我已经尝试了所有我能想到的关于这个订单信息页面,并用尽了我能想到的每一个搜索,所以现在我需要问。我正在尝试重写admin>sales order>view订单页面。我已经创建了模块,以覆盖我认为的区域,但它正在变得很时髦。
模块的config.xml
<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
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,因为我没有足够的代表,但我做错了什么?
发布于 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_Blocksales_order_view_info -> Sales_Order_View_Info最后一堂课是Mage_Adminhtml_Block_Sales_Order_View_Info
所以你需要在
从…
<sales_order_view>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view>到
<sales_order_view_info>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view_info>发布于 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中工作来运行模板路径提示。这将显示您的产品视图块是否使用核心,或者是否使用其他扩展代码。
https://stackoverflow.com/questions/30812970
复制相似问题