【问题标题】:Block Overriding adminhtml function overrides instead - Magento块覆盖 adminhtml 函数覆盖而不是 - Magento
【发布时间】:2013-10-11 07:37:24
【问题描述】:

我使用模块创建器创建了一个模块。

我正在尝试覆盖 Adminhtml\Block\Sales\Order\Grid.php

class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid

而我的覆盖块位于 local\Delivery\Date\Block\Sales\Order\Grid.php

class Delivery_Date_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid

要覆盖的函数是

protected function _prepareColumns()
    {

当我尝试覆盖模块中的函数时,我遇到了一个奇怪的问题如果我在 Mage 文件夹中注释掉相同的函数行,我的函数将被覆盖。

假设我在 local\Delivery\Date\Block\Sales\Order\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\Block\Sales\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>

【问题讨论】:

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

标签: php magento magento-1.7 block


【解决方案1】:

如果这对你有用,你可以试试吗:

    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',
        ));
    }

【讨论】:

    【解决方案2】:

    你需要改变扩展类

    class Delivery_Date_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
    

    查看覆盖网格的示例http://inchoo.net/ecommerce/magento/how-to-extend-magento-order-grid/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2012-07-06
      • 1970-01-01
      相关资源
      最近更新 更多