我有Joomla 2.5.17和Virtuemart 2.0.26d。我希望order_done步骤上的PDF发票下载链接由order_done.php视图呈现。 我已经配置了virtmart,因此订单状态为“CONFIRMED” - “C”表示订单已经开始计时,已经生成了PDF发票。
答案 0 :(得分:1)
好的,我明白了。因此,如果您想在order_done步骤中使用下载链接,那么这就是您必须执行的操作。假设您的PDF存储在" media / vmfiles / invoices /"你需要在components / com_virtuemart / controllers / cart.php中添加一些代码,大约477,其中如果($ task =='确认')"块开始:
...
$cart->confirmDone();
$view = $this->getView('cart', 'html');
$securePath = VmConfig::get('forSale_path',0);
$segments = explode('/', $securePath);
$folderOnServer = $segments[sizeof($segments)-3].'/'.$segments[sizeof($segments)-2];
$orderModel = VmModel::getModel('orders');
$invoiceId = $orderModel->getInvoiceNumber($cart->virtuemart_order_id);
$pdfName = "{$folderOnServer}/invoices/vminvoice_{$invoiceId}.pdf";
$view->setLayout('order_done');
$view->pdfName = $pdfName;
$view->display();
...
视图模板中的位代码/ {yourtheme} /html/com_virtuemart/cart/order_done.php:
<div class="get-pdf"><?php echo JText::_('get_your_pdf'); ?> <a href="<?php echo $this->pdfName; ?>" target="_blank"><?php echo JText::_('DOWNLOAD_PDF') ?> </a><br/></div>