【发布时间】:2014-11-29 21:21:37
【问题描述】:
我有 Joomla 2.5.17 和 Virtuemart 2.0.26d。我想要 order_done 步骤上的 PDF 发票下载链接,该链接由 order_done.php 视图呈现。 我已经配置了 measuremart,因此订单状态为“CONFIRMED”-“C”表示随着订单的节奏,已经生成了 PDF 发票。
【问题讨论】:
标签: joomla2.5 virtuemart
我有 Joomla 2.5.17 和 Virtuemart 2.0.26d。我想要 order_done 步骤上的 PDF 发票下载链接,该链接由 order_done.php 视图呈现。 我已经配置了 measuremart,因此订单状态为“CONFIRMED”-“C”表示随着订单的节奏,已经生成了 PDF 发票。
【问题讨论】:
标签: joomla2.5 virtuemart
好的,我明白了。因此,如果您想要 order_done 步骤中的下载链接,这就是您必须做的。假设您的 PDF 存储在“media/vmfiles/invoices/”中,您需要在 components/com_virtuemart/controllers/cart.php 行中添加一些代码,大约 477 行,其中“else if($task=='confirm')”块开始:
...
$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>
【讨论】: