Magento:如何打印像frontend这样的后端发票作为HTML?

时间:2012-11-22 14:14:56

标签: magento magento-1.7

我在Magento 1.7.0.2上。如何以与前端使用相同的方式从后端打印发票?我希望它是HTML格式而不是PDF格式。

2 个答案:

答案 0 :(得分:2)

假设您要从管理订单明细页面一次打印一张发票

创建自定义管理模块

使用以下方法添加控制器

public function printInvoiceAction()
{  

    $invoiceId = (int) $this->getRequest()->getParam('invoice_id');
    if ($invoiceId) {
        $invoice = Mage::getModel('sales/order_invoice')->load($invoiceId);
        $order = $invoice->getOrder();
    } else {
        $order = Mage::registry('current_order');
    }


    if (isset($invoice)) {
        Mage::register('current_invoice', $invoice);
    }
    $this->loadLayout('print');
    $this->renderLayout();

}

在app / code / core / Mage / Sales / controllers / GuestController.php中引用printInvoiceAction()

然后在您的自定义layout.xml中,使用/app/design/frontend/base/default/layout/sales.xml中的<sales_guest_printinvoice>作为模板

然后添加一个带有以下网址链接的按钮(需要从订单中获取发票ID)/ customModule / controller / printInvoice / invoice_id / xxx

(未经测试,如果您遇到任何问题,请告诉我)

答案 1 :(得分:0)

您应该创建自定义css文件以打印print.css。你应该添加“打印按钮”,它将调用window.print()