我有一個Smarty 2.6.9緩存問題,我有一個名爲confirmation.tpl
的2個模板,這兩個模板都存儲在我的代碼庫的不同目錄中。阻止Smarty 2模板被緩存/編譯
但是,編譯它們時,它們會編譯在/cache/gb/
目錄中。對於這兩個模板,我只想阻止編譯,因此我試圖使用force_compile
成員變量,但是這完全沒有效果,並且模板始終被緩存。
,這是提出的問題是,無論confirmation.tpl
模板被稱爲(由單獨的代碼)的同一頁面上,這樣一個模板被用於兩個,並導致了我的問題。
有沒有一種方法可以防止以這種方式編譯和緩存此模板?
我正在傳遞一個標誌來爲「confirmation.tpl」模板設置「no_compile」。
$this->obj = new Smarty;
$this->obj->caching = false;
$this->obj->cache_lifetime = 10;
$this->obj->compile_check = true;
$this->obj->template_dir = $this->tpl_path;
if ($this->no_compile) {
$this->obj->force_compile = false;
$this->obj->compile_check = false;
}
我想我可能會吠叫錯誤的樹。我的問題是,當我清除所有'confirmation.tpl.php'文件的編譯目錄並刷新文件返回的頁面時,_but只有一個文件返回_,而我認爲應該有兩個文件(因爲有兩個'confirmation.tpl'在頁面上調用Smarty模板)。 – crmpicco 2013-02-26 15:26:31
對於那些在未來尋找這個,這是我做的:'//$ this-> obj是Smarty類的一個實例 $ compile_id = md5(__ METHOD__); $ output = $ this-> obj-> fetch($ top_tpl_file,null,$ compile_id,$ display);' – crmpicco 2013-02-27 09:47:08