2013-02-13 36 views
0

我正在使用CMS Made Simple。我試圖在我的css樣式表中包含條件Smarty代碼。緩存CMSMS中的動態樣式表

[[if $raduno eq '1']] 
    [[assign var='bgcolor' value='#bc3516']] /* red */ 
[[else]] 
    [[assign var='bgcolor' value='#f3c127']] /* yellow */ 
[[/if]] 

body { 
    background-color: [[$bgcolor]]; 
    ... 
} 

的代碼似乎工作(我得到一個紅色與黃色背景取決於raduno值)。但是,樣式表的緩存似乎會干擾這種方法。無論變量raduno的值如何,在清除CMSMS服務器緩存後訪問的第一頁上選擇的背景顏色都是我在所有隨後訪問的頁面上獲得的顏色。

是否可以根據變量的值來緩存樣式表? (如果是這樣,自動或手動?)

該問題目前通過有兩個單獨的樣式表解決。但是,這使維護困難。此外,禁用緩存不是這裏的選項---使用兩個樣式表的模板用於整個站點。

我正在使用CMSMS版本1.10.3。我意識到升級可能會幫助,但我還沒有發現任何跡象表明這是更改日誌中的情況。 (並且我的版本安裝在opensourcecms.com!)

回答

0

不,唯一的方法是避免緩存樣式表,這不是一個好主意。最簡單的解決方法是使用內聯css和Smarty,或者使用jquery進行交換。