Продажи Magento> Заказы> Добавить действие печати - PullRequest
1 голос
/ 21 декабря 2011

Я пытаюсь создать действие печати на странице заказов magento (printscreen: sbx.mujjo.com/media/images/action.png).Прямо сейчас «Печать ярлыков» является URL-адресом HTML-страницы.Я пытаюсь заставить его открыть .pdf вместо этого (точно так же как «Распечатать счет». Но я не могу найти правильный код.

Код, который создает URL:

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')
                 )
        );
      }
    }
  }
}

1 Ответ

0 голосов
/ 21 декабря 2011

Поскольку ссылка уже существует, просто используйте URL для себя. Вот как переопределить.

В файле config.xml вашего модуля,

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

Теперь вы можете создать контроллер, и он будет вызываться первым.
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"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...