我需要一些关于在前端使用DynamicPDF插件的OctoberCMS的帮助:
具有以下10月份CMS页面:
title = "Dues"
url = "/account/dues"
layout = "profile"
is_hidden = 0
==
<?php
use Corp\Proj\Models\Account;
use Renatio\DynamicPDF\Classes\PDF;
use Renatio\DynamicPDF\Models\PDFTemplate;
function onInvoiceDownload()
{
$id = post("id");
$account = Account::find($id);
return PDF::loadTemplate("proj:invoice", ['data' => $account])->stream();
}
?>
==
{% set account = user.account %}
<button data-request="onInvoiceDownload" data-request-data="id: {{ account.id }}" class="btn btn-default">
<i class="fa fa-download"></i> Download
</button>预期的行为是在单击按钮时下载PDF文件,但它会静默加载和终止...什么都看不见。尝试使用->download()和->stream(),但都不起作用!
有什么想法吗?
发布于 2017-02-02 02:57:08
一种解决方法是创建一个专用于PDF创建的新页面。
title = "PDF Dues"
url = "/account/dues/pdf/:id"
layout = "profile"
is_hidden = 0
==
<?php
use Corp\Proj\Models\Account;
use Renatio\DynamicPDF\Classes\PDF;
use Renatio\DynamicPDF\Models\PDFTemplate;
function onStart()
{
$id= $this->param('id');
$account = Account::find($id);
return PDF::loadTemplate("proj:invoice", ['data' => $account])->stream();
}发布于 2017-04-12 13:20:13
你好,费尔南多·巴罗卡尔
我注意到你的代码中有一个错误。您必须使用作用域解析运算符来加载模板。
你的代码:
return PDF::loadTemplate("proj:invoice", ['data' => $account])->stream();替换为:
return PDF::loadTemplate("proj::invoice", ['data' => $account])->stream();希望这能对你有所帮助。
谢谢!
https://stackoverflow.com/questions/41964991
复制相似问题