我正在尝试在销售订单视图页面(销售>订单>订单#...视图)上添加自定义打印按钮(如打印发票)。
我已经使用 a 成功完成了此操作,但现在在同一页面上有两个模块。因此,我正在尝试执行Observer/Event方法并且遇到了麻烦。
这就是我为Mass Action 打印所拥有的,而且效果很好(仅限上一页(销售 > 订单)。
$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'),
));
}
现在,当我尝试为“产品视图”页面添加按钮时(在相同功能下):
// 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'
));
}
我不断收到这样的错误:
Fatal error: Call to undefined method Company_Test_Model_Observer::_addButton() in app/code/local/Company/Test/Model/Observer.php on line 24
我试过了:
- $block->_addButton
- $block->_addItem
但似乎没有任何效果。为什么这不起作用???