Virtuemart:在 order_done 步骤中获取 PDF 发票链接
Posted
技术标签:
【中文标题】Virtuemart:在 order_done 步骤中获取 PDF 发票链接【英文标题】:Virtuemart: get PDF invoice link on order_done step 【发布时间】:2014-11-29 21:21:37 【问题描述】:我有 Joomla 2.5.17 和 Virtuemart 2.0.26d。我想要 order_done 步骤上的 PDF 发票下载链接,该链接由 order_done.php 视图呈现。 我已经配置了 measuremart,因此订单状态为“CONFIRMED”-“C”表示随着订单的节奏,已经生成了 PDF 发票。
【问题讨论】:
【参考方案1】:好的,我明白了。因此,如果您想要 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>
【讨论】:
以上是关于Virtuemart:在 order_done 步骤中获取 PDF 发票链接的主要内容,如果未能解决你的问题,请参考以下文章
关于 VirtueMart (Joomla!) 的加拿大支付网关的建议?
在为 Joomla 1.5.26 修复 Virtuemart 1.1.9 的 Flex2 运输模块中的错误时出现 PHP 范围问题