2011-12-21 99 views
1

我試圖在magento訂單頁面(printscreen:sbx.mujjo.com/media/images/action.png)上創建一個打印動作。現在'打印標籤'是一個html頁面的網址。我試圖把它打開一個PDF,而不是(就像「打印發票」但我不能找到合適的代碼Magento銷售>訂單>添加打印動作

的代碼創建的網址:。

class AquiveMedia_Orderlabel_Model_Observer { 

public function add_action($observer) { 
    $block = $observer->getEvent()->getBlock(); 
    if ($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction) { 
     if ($block->getParentBlock() instanceof Mage_Adminhtml_Block_Sales_Order_Grid) { 
     $block->addItem('print_labels', array(
      'label' => Mage::helper('sales')->__('Print Labels'), 
      'url' => $block->getUrl('orderlabel/adminhtml_orderlabel/massprint') 
       ) 
     ); 
     } 
    } 
    } 
} 

回答

0

由於鏈接已經存在,只是使用的URL爲自己在這裏是如何覆蓋。

在你的模塊的​​3210文件,

<config> 
    ... 
    <admin> 
     <routers> 
      <adminhtml> 
       <args> 
        <modules> 
         <aquivemedia_orderlabel before="Mage_Adminhtml"> 
          AquiveMedia_Orderlabel_Adminhtml 
         </aquivemedia_orderlabel> 
        </modules> 
       </args> 
      </adminhtml> 
     </routers> 
    </admin> 
</config> 

現在你可以做一個控制器,它會被所謂的F IRST。
app/code/local/AquiveMedia/Orderlabel/controllers/Adminhtml/Sales/Order/InvoiceController.php

class AquiveMedia_Orderlabel_Adminhtml_Sales_Order_InvoiceController 
    extends Mage_Adminhtml_Controller_Action 
{ 
    public function printAction() 
    { 
     // this is called instead of the path "index.php/admin/sales_order_invoice/print" 
    } 
} 
+0

嗨!感謝您的回答! 我想我沒有真正解釋得夠好。我想打開此頁面(orderlabel/adminhtml_orderlabel/massprint)而不是html。 所以我很遺憾,我應該創建一個invoicecontroller,但像labelcontroller。你對此有何想法?我沒有很多這樣的經驗,所以如果你能幫助我願意爲你付出一些東西! 此致! – 2011-12-25 11:01:16

相關問題