我在Magento 1.7.0.2上。如何以与前端使用相同的方式从后端打印发票?我希望它是HTML格式而不是PDF格式。
答案 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()