2013-10-11 157 views
0

我使用模块创建者创建了一个模块。阻止覆盖adminhtml函数替代 - Magento

我试图覆盖Adminhtml \块\销售\订单\ Grid.php

class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid 

和我重写块是当地\送货\日\块\销售\订单\ Grid.php

class Delivery_Date_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid 

和功能覆盖是

protected function _prepareColumns() 
    { 

我面临着一个奇怪的问题,当我尝试覆盖函数I n我的模块如果我在Mage文件夹中注释掉相同的函数行,我的函数被覆盖,则阻止更改不会受到影响。

假设我有在当地\送货\日\块\销售\订单\ Grid.php一个功能

protected function _prepareColumns() 
    { 

     $this->addColumn('real_order_id', array(
      'header'=> Mage::helper('sales')->__('Order NEW ID#'), 
      'width' => '80px', 
      'type' => 'text', 
      'index' => 'increment_id', 
     ));} 

提,而是如果我评论/删除Adminhtml \块\销售行事件\ Order \ Grid.php

protected function _prepareColumns() 
    { 

     $this->addColumn('real_order_id', array(
      'header'=> Mage::helper('sales')->__('Order #'), 
      'width' => '80px', 
      'type' => 'text', 
      'index' => 'increment_id', 
     )); 

然后,只有我的更改受到adminhtml网格的影响。 为什么后备更改会发生?

config.xml中

<blocks> 
    <adminhtml> 
       <rewrite> 
        <sales_order_grid>Delivery_Date_Block_Sales_Order_Grid</sales_order_grid> 
       </rewrite> 
    </adminhtml> 
</blocks> 
+0

请编辑您的问题以添加您声明覆盖的config.xml部分 – OSdave

回答

0

可以尝试,如果这对你的作品:

protected function _prepareColumns() 
    { 
     parent::_prepareColumns(); 

     $this->removeColumn('real_order_id'); 

     $this->addColumn('real_order_id', array(
      'header' => Mage::helper('sales')->__('Order NEW ID#'), 
      'width' => '80px', 
      'type' => 'text', 
      'index' => 'increment_id', 
     )); 
    }