2015-05-05 29 views
0

我有一个产品清单,在我的DB。对于每个产品,我必须生成一个PDF(收据),其模板/布局与其他不同。 我正在考虑将html layout/template放在产品数据库表的一列中。但是如何在CakePhp中渲染它?我必须渲染一些变量...从定制Html呈现定制PDF

+1

呈现PDF视图不是默认功能(AFAIK),您可能需要检出插件来处理此视图。 https://github.com/FriendsOfCake/CakePdf – robmcvey

+0

问题不在于PDF,而在于提取产品模板并渲染一些变量的方法。我不会为每个产品单独使用.ctp ... – giuseppe

回答

1

我已经解决了类似的问题,我有一个页面模型,其中单个页面的布局大不相同。

我会在您的视图文件夹中为您的产品的每个变体布局创建视图模板,然后在数据库中存储要使用的模板的pdf_view_template列。然后在你的ProductsController设置视图: -

if (!empty($data['Product']['pdf_view_template'])) { 
    $this->view = $data['Product']['pdf_view_template']; 
} 

这将使模板被重用,以及让您有一个默认的模板依傍的能力。它还可以避免您必须将大量模板数据存储在数据库中。

这似乎是一个更蛋糕的方式做到这一点。