我按照这篇文章过滤了客户帐户中的订单集。 "My order" table just with orders from current store view
但是现在我试图覆盖块(app \ code \ core \ Mage \ Sales \ Block \ Order \ History.php)但没有成功。他不做我申请的过滤器
我创建了以下文件:
/app/code/local/Emm/etc/config.xml
<?xml version="1.0"?>
<config>
<global>
<blocks>
<sales>
<rewrite>
<history>Emm_Sales_Block_Order_History</history>
</rewrite>
</sales>
</blocks>
</global>
</config>
/app/etc/modules/Emm_Sales.xml
<?xml version="1.0"?>
<config>
<modules>
<Emm_Sales>
<active>true</active>
<codepool>local</codepool>
</Emm_Sales>
</modules>
</config>
/app/code/local/Emm/Sales/Block/Order/History.php
require_once 'Mage/Sales/Block/Order/History.php';
class Emm_Sales_Block_Order_History extends Mage_Sales_Block_Order_History
{
我忘了什么? 在magento后台(系统&gt;高级)中,我可以看到我的模块已启用。
答案 0 :(得分:1)
config.xml path
应该是
app/code/local/Emm/Sales/etc/config.xml
来自app/code/local/Emm/etc/config.xml
还需要修改config.xml
<?xml version="1.0" ?>
<config>
<modules>
<Emm_Sales>
<version>1.0.0</version>
</Emm_Sales>
</modules>
<global>
<blocks>
<emmsales>
<class>Emm_Sales_Block</class>
</emmsales>
<sales>
<rewrite>
<order_history>Emm_Sales_Block_Order_History</order_history>
</rewrite>
</sales>
</blocks>
</config>
试试这个
答案 1 :(得分:1)
错误位于/app/etc/modules/Emm_Sales.xml文件中。 XML标记区分大小写,因此您需要使用大写字母编写codePool,如下所示:
<?xml version="1.0"?>
<config>
<modules>
<Emm_Sales>
<active>true</active>
<codePool>local</codePool>
</Emm_Sales>
</modules>
</config>
在你的文件中,你编写了代码池而不是codePool。那就是错误。
您还应该添加order_history标记而不仅仅是历史记录:
<config>
<global>
<blocks>
<sales>
<rewrite>
<order_history>Emm_Sales_Block_Order_History</order_history>
</rewrite>
</sales>
</blocks>
</global>
</config>
答案 2 :(得分:0)
尝试更改/app/code/local/Emm/etc/config.xml文件。
按order_history
更改标记历史记录<?xml version="1.0"?>
<config>
<global>
<blocks>
<sales>
<rewrite>
<order_history>Emm_Sales_Block_Order_History</order_history>
</rewrite>
</sales>
</blocks>
</global>
</config>