我對如何在smarty中使用post/pre過濾器感到困惑。Smarty Postfilters/Prefilters如何在輸出前應用模板
我需要做的是在頁面顯示之前搜索並替換頁面中的某些元素。我希望在$ smarty-> display被調用之前這樣做。這意味着,在它被保存到磁盤之前,但在它被編譯之後(如此,postfilter)。
實例後置濾波器功能:
function smarty_postfilter_replace($tpl_output, $search, $replace)
{
return str_replace($search, $replace, $tpl_output);
}
如何申請Smarty的輸出之前這一權利。我在查看Smarty文檔(http://www.smarty.net/docsv2/de/advanced.features.postfilters.tpl)和其他一些示例之後嘗試過,但似乎沒有任何工作。
有人可以給我一個關於如何做到這一點的示例代碼,以及如何將參數傳遞給過濾器($ search,$ replace)。
謝謝
所以,如果我理解正確,它會被保存到修改後的緩存中 – mspir 2012-07-10 15:57:28
在Smarty 3中,如果你沒有nocache元素,是的。如果你有nocache元素,過濾器在*每個*請求上的緩存之後運行*。就Smarty 2而言,我的記憶已經消退,並且由於它已經過去幾年已經被棄用了,所以我並不太想去挖掘來源:/ – rodneyrehm 2012-07-10 17:15:42
好的,謝謝你的幫助! – mspir 2012-07-10 17:39:51