Virtuemart:在order_done步骤获取PDF发票链接

时间:2014-10-05 11:42:50

标签: joomla2.5 virtuemart

我有Joomla 2.5.17和Virtuemart 2.0.26d。我希望order_done步骤上的PDF发票下载链接由order_done.php视图呈现。 我已经配置了virtmart,因此订单状态为“CONFIRMED” - “C”表示订单已经开始计时,已经生成了PDF发票。

1 个答案:

答案 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>