モジュールクリエーターを使用してモジュールを作成しました。
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>