Класс, который вы хотите переопределить, - Mage_Adminhtml_Block_Sales_Invoice_Grid
. Скопируйте этот файл в локальном пространстве (так что вы будете иметь app/code/local/Mage/Adminhtml/Block/Sales/Invoice/Grid.php
), а затем измените следующие функции:
protected function _prepareMassaction()
{
$this->setMassactionIdField('entity_id');
$this->getMassactionBlock()->setFormFieldName('invoice_ids');
$this->getMassactionBlock()->addItem('pdfinvoices_order', array(
'label'=> Mage::helper('sales')->__('PDF Invoices'),
'url' => $this->getUrl('*/*/pdfinvoices'),
));
// your action goes here
$this->getMassactionBlock()->addItem('handle', array(
'label'=> Mage::helper('sales')->__('Your Action Label'),
'url' => $this->getUrl('path/to/your/action'),
));
return $this;
}
Надежда, что помогает!
Thanks, Joe
спасибо! Единственная мелочь в вашем решении заключается в том, что это не локальный каталог, а основная папка ... – Jonathan
Как я уже сказал в начале сообщения, скопируйте файл из основной папки в локальный каталог. Если вы измените базовую версию, она будет перезаписана при следующем обновлении сценария. В локальной папке (или даже лучше, если вы переопределите блок с одним в своем модуле), вы можете быть более безопасным из этой проблемы и можете обновить. –