Magento - Schaltfläche zur Kundenauftragsseite hinzufügen (Beobachter / Ereignis)

Ich versuche, auf der Seite "Kundenauftragsansicht" eine benutzerdefinierte Druckschaltfläche (z. B. "Rechnung drucken") hinzuzufügen (Verkauf> Bestellungen> Bestellnummer ... anzeigen).

Ich habe dies erfolgreich mit einem gemacht, aber jetzt haben zwei Module die gleiche Seite. Deshalb versuche ich das zu tunBeobachter / Ereignis Methode und bin in Schwierigkeiten geraten.

Das habe ich für dieMassenaktionsdruck und es funktioniert großartig (nur vorherige Seite (Sales> Orders)).

$block = $observer->getEvent()->getBlock();

// Mass Action Printing option
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
     && $block->getRequest()->getControllerName() == 'sales_order')
     {
        $block->addItem('test_mass_print', array(
            'label' => 'Print Test',
            'url' => Mage::app()->getStore()->getUrl('orderforms/order/pdfTest'),
        ));
      }

Nun, wenn ich versuche, den Button für die hinzuzufügenProduktansicht Seite (unter der gleichen Funktion):

// Order View Page button
        if(get_class($block) =='Mage_Adminhtml_Block_Sales_Order_View'
            && $block->getRequest()->getControllerName() == 'sales_order')
        {
            $this->_addButton('test_print', array(
                'label'     => Mage::helper('sales')->__('Test'),
                'onclick'   => Mage::app()->getStore()->getUrl('orderforms/order/print'),
                'class'     => 'go'
            ));
        }

Ich bekomme immer wieder Fehler wie diesen:

Fatal error: Call to undefined method Company_Test_Model_Observer::_addButton() in app/code/local/Company/Test/Model/Observer.php on line 24

Ich habe es versucht:

$ block -> _ addButton$ block -> _ addItem

aber nichts scheint zu funktionieren.Warum funktioniert das nicht ???

Antworten auf die Frage(2)

Ihre Antwort auf die Frage