我必须在 pdf 文件中打印购物车内容并下载。
我尝试了一些使用 pdfinvoicecontroller.php 的代码
我创建了新的控制器 - controllers/front/CartprintController.php
类 CartprintControllerCore 扩展 FrontController { protected $display_header = false; 受保护的 $display_footer = false;
public $content_only = true; protected $template; public $filename; public function postProcess() { if (!$this->context->customer->isLogged() && !Tools::getValue('secure_key')) Tools::redirect('index.php?controller=authentication&back=cartprint'); } public function display() { $displayproducts = $this->context->cart->getProducts(); $pdf = new PDF($displayproducts, PDF::TEMPLATE_INVOICE_CART, $this->context->smarty, $this->context->language->id); $pdf->render(); } public function getTemplate() { $template = _PS_THEME_PDF_DIR_.'/cartprint.tpl'; return $template; } }
添加
const TEMPLATE_INVOICE_CART = '购物车';
在 classes/pdf/PDF.php 中的行
3.然后在pdf/cartprint.tpl中创建了一个HTML模板文件
<table id="cart_summary" class="std">
<thead>
<tr>
<th class="cart_product first_item">{l s='Product'}</th>
<th class="cart_description item">{l s='Description'}</th>
<th class="cart_unit item">{l s='Unit price'}</th>
<th class="cart_quantity item">{l s='Qty'}</th>
<th class="cart_total item">{l s='Total'}</th>
</tr>
</thead>
{foreach $displayproducts item=prodpef name=prodpef }
<tr>
<td class="cart_product first_item">{$prodpef.name}</td>
<td class="cart_description item">{$prodpef.description_short}</td>
<td class="cart_unit item">{$prodpef.price}</td>>
<td class="cart_quantity item">{$prodpef.cart_quantity}</td>>
<td class="cart_total item">{$prodpef.total}</td>>
</tr>
{/foreach}
</table>
4.在购物车页面我创建了一个链接
<a href="{$link->getPageLink('cartprint', true, NULL)}" title="{l s='Invoice'}" class="_blank"><img src="{$img_dir}icon/pdf.gif" alt="{l s='Invoice'}" class="icon" /></a>
但我仍然没有得到 pdf 输出。
有什么帮助吗?