2015-05-05 35 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']; 
} 

這將使模板被重用,以及讓您有一個默認的模板依傍的能力。它還可以避免您必須將大量模板數據存儲在數據庫中。

這似乎是一個更蛋糕的方式做到這一點。