SteveSmithSkId
SteveSmithSkId

Reputation: 115

magento override 3rd party block

Trying to override a block called info.php class name

Epicor_Customerconnect_Block_Customer_Orders_Details_Info

Created a new Module, created xml for the etc/modules.

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

created 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>

created new block with same folder structure.Also extends original.

class DotNetIT_OrderInfo_Block_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Orders_Details_Info {

In the new blocks contruct i create a var_dump to see if it uses the new block. but nothing happens meaning its not used.

What else do i need to do here? have i covered everything? or is my config re-write incorrect?

EDIT: also the class im extending is already extending another,

class Epicor_Customerconnect_Block_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Info

Epicor_Customerconnect_Block_Customer_Info extends Mage_Core_Block_Template

Upvotes: 2

Views: 446

Answers (1)

urfusion
urfusion

Reputation: 5501

This might work for you.

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\Block\Customerconnect\Customer\Orders\Details\Info.php

<?php
class DotNetIT_OrderInfo_Block_Customerconnect_Customer_Orders_Details_Info extends Epicor_Customerconnect_Block_Customer_Orders_Details_Info
{
}

Upvotes: 1

Related Questions