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中了。