本文實例講述了PHP針對常規模板引擎中與CSS/JSON沖突的解決方法,有一定的實用價值,具體分析如下:
本文主要針對對象為Smarty與Dwoo
在Smarty中經常會出現和CSS/JS的語法存在沖突的情況,因為二者都需要使用大括號{}。雖然可以改Smarty的界定符,但你在一個現存系統中,去修改所有相關代碼,是不劃算的。解決方法如下:
1. 避免同時出現
通過外部引用的方式避免。問題是避無所避。所以這種情況只適合少量簡單的情況。
2. 修改Smarty界定符
3.可以使用Smarty的literal標記將樣式表信息包圍起來,如下所示:
<html> <head> <title>{$title}</title> {literal} <styletypestyletype="text/css"> p{ margin::2px } </style> {/literal} </head> <script type="text/javascript"> function goods_show(id){ <!--{literal}--> art.dialog.open(url,{id:'select',title:'的:',width:760,height:380,padding: '10px'}); <!--{/literal}--> } </script>
相比較而言第三種方法無疑是綠色環保的,在遇到沖突的地方,加上literal標記包裹。
該方案對Dwoo引擎同樣有效。