Grid.php переопределение не работает


Я пытаюсь override ниже файла:

/app/code/core/Mage/Adminhtml/Block/Newsletter/Subscriber/Grid.php :

class Mage_Adminhtml_Block_Newsletter_Subscriber_Grid extends Mage_Adminhtml_Block_Widget_Grid
{
   ...
   protected function _prepareColumns()
   {

      $this->addColumn('subscriber_id', array(
         'header'    => Mage::helper('newsletter')->__('ID'),
         'index'     => 'subscriber_id'
      ));

      /* Need to add own cloumn */

   }
   ....
}

Вот что я пытаюсь сделать с custom module: /app/code/local/Customletter/Phone/etc/config.xml:

<?xml version="1.0"?>
<config>
        <modules>
            <Customletter_Phone>
                <version>1.0.0</version>
            </Customletter_Phone>
        </modules>

    <global>

       <blocks>

             <phone>
                <class>Customletter_Phone_Block</class>
             </phone>

             <adminhtml>
               <rewrite>
                     <subscriber_grid>
                         Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid
                     </subscriber_grid>
               </rewrite>
             </adminhtml>

      </blocks>


     <resources>
        <customletter_phone>
            <setup>
                <module>Customletter_Phone</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </customletter_phone>
    </resources>

    </global>  

</config>

/app/code/local/Customletter/Phone/Adminhtml/Block/Newsletter/Subscriber/Grid.php:

class Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid extends Mage_Adminhtml_Block_Newsletter_Subscriber_Grid
{

   protected function _prepareColumns()
   {


     $this->addColumn('customletter_phone', array(
        'header'    => Mage::helper('newsletter')->__('Customer Phone Number'),
        'index'     => 'customletter_phone',
        'default'   =>    '----'
    ));


        return parent::_prepareColumns();
  }
}

Проблема: В Newsletter Subscribers grid Customer Phone Number не появляется.

Я использую magento 1.9.2.4.

Author: Hiranya Sarma, 2016-10-10

2 answers

Вы переписали неправильно, пожалуйста, замените:

<adminhtml>
      <rewrite>
             <subscriber_grid>
                     Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid
             </subscriber_grid>
      </rewrite>
</adminhtml>

С помощью:

 <adminhtml>
      <rewrite>
           <newsletter_subscriber_grid>Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid</newsletter_subscriber_grid>
      </rewrite>
 </adminhtml>
 1
Author: Raphael at Digital Pianism, 2016-10-10 10:48:19

Замените свой код

<adminhtml>
    <rewrite >
        <subscriber_grid >
    Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid
        </subscriber_grid >
    </rewrite >
</adminhtml >

С

<adminhtml >
    <rewrite >
        <newsletter_subscriber_grid > Customletter_Phone_Adminhtml_Block_Newsletter_Subscriber_Grid</newsletter_subscriber_grid >
    </rewrite >
</adminhtml >

Заменить защищенную функцию _prepareColumns() кодом функции

$this->addColumn('customletter_phone', array(
    'header' => Mage::helper('newsletter')->__('Customer Phone Number'),
    'index' => 'customletter_phone',
    'default' => '----'
));


return parent::_prepareColumns();

С

$this->addColumn('subscriber_id', array(
    'header' => Mage::helper('newsletter')->__('ID'),
    'index' => 'subscriber_id'
));

$this->addColumn('email', array(
    'header' => Mage::helper('newsletter')->__('Email'),
    'index' => 'subscriber_email'
));

$this->addColumn('type', array(
    'header' => Mage::helper('newsletter')->__('Type'),
    'index' => 'type',
    'type' => 'options',
    'options' => array(
        1 => Mage::helper('newsletter')->__('Guest'),
        2 => Mage::helper('newsletter')->__('Customer')
    )
));

$this->addColumn('customletter_phone', array(
    'header' => Mage::helper('newsletter')->__('Customer Phone Number'),
    'index' => 'customletter_phone',
    'default' => '----'
));


return parent::_prepareColumns();
 0
Author: Suresh Chikani, 2016-10-10 11:34:02