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 2 付款方式

关于 VirtueMart (Joomla!) 的加拿大支付网关的建议?

VIRTUEMART退出问个问题。。。。

要发布到除VirtueMart签出之外的所有页面的条件代码

在为 Joomla 1.5.26 修复 Virtuemart 1.1.9 的 Flex2 运输模块中的错误时出现 PHP 范围问题

如何使用CRON作业在Joomla DB上运行此查询?