Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php magento-如何覆盖销售订单历史记录块类(Mage\u sales\u block\u order\u history)_Php_Magento_Module_Overriding_Block - Fatal编程技术网

Php magento-如何覆盖销售订单历史记录块类(Mage\u sales\u block\u order\u history)

Php magento-如何覆盖销售订单历史记录块类(Mage\u sales\u block\u order\u history),php,magento,module,overriding,block,Php,Magento,Module,Overriding,Block,我跟随这篇文章从客户帐户中筛选订单收款。 但是现在我试图覆盖块(app\code\core\Mage\Sales\block\Order\History.php),但没有成功。他没有做我用过的过滤器 我创建了以下文件: /app/code/local/Emm/etc/config.xml <?xml version="1.0"?> <config> <global> <blocks>

我跟随这篇文章从客户帐户中筛选订单收款。

但是现在我试图覆盖块(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>
<?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>
我忘了什么?
在magento backoffice(系统>高级)中,我可以看到我的模块已启用。

config.xml路径中存在问题

应该是

app/code/local/Emm/Sales/etc/config.xml
app/code/local/Emm/etc/config.xml

还需要修改config.xml

<?xml version="1.0"?>
    <config>
        <global>
           <blocks>
              <sales>
                      <rewrite>
                          <history>Emm_Sales_Block_Order_History</history>
                      </rewrite>        
              </sales>
           </blocks>
        </global>
    </config>
<?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.0.0
Emm_销售_块
Emm\u销售\u批量\u订单\u历史记录

尝试更改/app/code/local/Emm/etc/config.xml文件

按顺序更改标记历史记录\u历史记录

<?xml version="1.0"?>
<config>
    <global>
       <blocks>
          <sales>
                  <rewrite>
                      <order_history>Emm_Sales_Block_Order_History</order_history>
                  </rewrite>        
          </sales>
       </blocks>
    </global>
</config>

Emm\u销售\u批量\u订单\u历史记录

错误在/app/etc/modules/Emm\u Sales.xml文件中。XML标记区分大小写,因此您需要用大写字母编写代码池,如下所示:

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

真的
地方的
在您的文件中,您编写了codepool而不是codepool。这就是错误所在

您还需要添加订单历史标记,而不仅仅是历史:

<config>
    <global>
       <blocks>
          <sales>
                  <rewrite>
                      <order_history>Emm_Sales_Block_Order_History</order_history>
                  </rewrite>        
          </sales>
       </blocks>
    </global>
</config>

Emm\u销售\u批量\u订单\u历史记录

I Amit,我更改了配置文件,将文件夹“etc”移动到“Sales”,但什么也没有发生。从您的magentodir/var/cache中删除所有文件如何在magento2中覆盖相同的文件?以下是链接: