magento覆盖第三方阻止


magento override 3rd party block

试图覆盖名为info.php的块类名

Epicor_Customerconnect_Block_Customer_Orders_Details_Info

创建了一个新的模块,为etc/模块创建了xml。

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <DotNetIT_OrderInfo>
            <active>true</active>
            <codePool>local</codePool>           
        </DotNetIT_OrderInfo>
    </modules>
</config>

创建config.xml

<?xml version="1.0"?>
<config>
<modules>
    <DotNetIT_OrderInfo>
        <version>0.0.1</version>
    </DotNetIT_OrderInfo>
</modules>
<global>
    <models>
        <OrderInfo>
            <class>
                DotNetIT_OrderInfo_Model
            </class>
        </OrderInfo>
    </models>       
    <blocks>
        <customerconnect>
            <rewrite>
                   <info>DotNetIT_OrderInfo_Block_Customer_Orders_Details_Info</info>
            </rewrite>
        </customerconnect>
        <OrderInfo>
            <class>DotNetIT_OrderInfo_Block</class>
        </OrderInfo>
    </blocks>
    <helpers>
        <DotNetIT_OrderInfo>
            <class>DotNetIT_OrderInfo_Helper</class>
        </DotNetIT_OrderInfo>          
    </helpers>
</global>
</config>

创建了具有相同文件夹结构的新块。也延伸了原来的。

class DotNetIT_OrderInfo_Block_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Orders_Details_Info {

在新的块构造中,我创建一个var_dump来查看它是否使用了新的块。但什么也没发生,这意味着它没有被使用。

我还需要在这里做什么?我涵盖了所有内容吗?或者我的配置重写不正确?

编辑:同样的类im扩展已经在扩展另一个,

class Epicor_Customerconnect_Block_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Info
Epicor_Customerconnect_Block_Customer_Info extends Mage_Core_Block_Template

这可能对您有用。

app''etc''modules''DotNetIT_OrderInfo.xml

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

app''code''local''DotNetIT''OrderInfo''etc''config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <DotNetIT_OrderInfo>
      <version>0.1.0</version>
    </DotNetIT_OrderInfo>
  </modules>
  <global>
    <helpers>
      <orderinfo>
        <class>DotNetIT_OrderInfo_Helper</class>
      </orderinfo>
    </helpers>
    <blocks>
      <orderinfo>
        <class>DotNetIT_OrderInfo_Block</class>
      </orderinfo>
            <customerconnect>
                <rewrite>
                    <customer_orders_details_info>DotNetIT_OrderInfo_Block_Customerconnect_Customer_Orders_Details_Info</customer_orders_details_info>
                </rewrite>
            </customerconnect>
    </blocks>
  </global>
</config> 

app''code''local''DotNetIT''OrderInfo''Plock''Customerconnect''Customer''Orders''Details''Info.php

<?php
class DotNetIT_OrderInfo_Block_Customerconnect_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Orders_Details_Info
{
}