本文實例講述了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引擎同樣有效。