首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前端的OctoberCMS DynamicPDF失败

前端的OctoberCMS DynamicPDF失败
EN

Stack Overflow用户
提问于 2017-02-01 02:33:51
回答 2查看 607关注 0票数 0

我需要一些关于在前端使用DynamicPDF插件的OctoberCMS的帮助:

具有以下10月份CMS页面:

代码语言:javascript
复制
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(),但都不起作用!

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-02-02 02:57:08

一种解决方法是创建一个专用于PDF创建的新页面。

代码语言:javascript
复制
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();
    }
票数 1
EN

Stack Overflow用户

发布于 2017-04-12 13:20:13

你好,费尔南多·巴罗卡尔

我注意到你的代码中有一个错误。您必须使用作用域解析运算符来加载模板。

你的代码:

代码语言:javascript
复制
return PDF::loadTemplate("proj:invoice", ['data' => $account])->stream();

替换为:

代码语言:javascript
复制
return PDF::loadTemplate("proj::invoice", ['data' => $account])->stream();

希望这能对你有所帮助。

谢谢!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41964991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档