dedecms模板混编列子

dedecms的模板是解析式模板,估计他们的初衷是为了模板完全与后台分离,与传统的模板不同,dede的模板不需要对页面的数据先assign变量,因为他直接是解析标签自动获取值。

因为这一点所以选用了dede,但是使用之后,发现这种思路是好,但dede并没有做得很完善,最大的弊病是没有很好的流程控制语句的支持,官方之有一个简单的if语句,可以支持与php混编,

但这种混编真的不很灵活。不过不怕麻烦,仍然可以将你的功能发挥到极致:

01.{dede:field.aid runphp="yes"} 
02.$dsql = new DedeSql(false); 
03.$dlt="SELECT sum(downloads) as totals FROM jcode_downloads where id=@me"; 
04.$row = $dsql->GetOne($dlt); 
[05.@me=''.$row\[totals\].''](mailto:05.@me=''.$row[totals].''); 
06.if(@me=='') 
07.@me = 0; 
08.@me = '(已下载['.@me.'](mailto:'.@me.')次)'; 
09.{/dede:field.aid} 

 这种方式下,我们想要不受限制的改写的话,只能将很长的html代码以字符串的形式写在@me中了。