2011-02-06 154 views
1

我在Smarty 3中的嵌套模板緩存中存在問題。看起來,當我做{include} Smarty會忽略調用方模板的緩存設置。Smarty緩存與嵌套模板問題

在template1.tpl:例如,假設智者緩存已經在控制器啓用

{include file='template2.tpl' nocache} 

在template2.tpl:

{include file='template3.tpl'} 

在template3.tpl

{$smarty.now} 

頁面上顯示的{$smarty.now}值是,直到緩存未清除,始終等於t他第一頁可視化的時間,儘管第一個子模板被強制不被緩存。 這對我來說是一個煩人的問題,因爲我需要控制的所有緩存設置template2.tpl的內容及其從template1.tpl的子模板。

有沒有優雅的解決方法?

+0

如果我的回答幫你包圍,你應該考慮的標記它作爲答案 – 2012-09-13 08:43:34

回答

0

Smarty不緩存template2的內容(將它們移動{$smarty.now}),但它確實緩存了template3。也包括它與nocache。

我經歷了同樣的問題,我重新設計我的模板,所以我能夠緩存大部分,只有部分無需緩存我{nocache} content {/nocache}