在织梦dedecms 里面对于数组进行循环的标签有好几个,在前台模板即使用静态模板引擎有,{dede:foreach array=’数组名称’}[field:key/] [field:value/]{/dede:foreach}用M ` r K来输出一个数组,当然,还有像万能循环标签等。而在动态模板引擎里面关于数组遍历的就更多了,而且比前台要灵活的多,今天向大家介绍的,在二次开发中常用的标签{dede:array.name}。
这个标签{dede:array.name}{dede:key/} = {dede:value/}{/dede:array.name}从表面上看,与前台的标签,一个最大的[ l u | v b Z l H区别就是在标签之间可以用大括号{},而在前台模板只除了几个可以这样用外,绝大多数都要用中括号[],这是与前台模板里面最大的区别了。
这个array标| i h : } 7 0 A !记在这个标签里面,意思是循环一个数组,而这个数组往往是二维数组,关于这个标记的编_ ` m % 9 i译,在文件dedetemplate.class.php的function Comy ! +pilerOneTag(&$cTag)里) O z =面,这样进没有多大效果,我们还是看一个实例吧。
进入会员中心——>系统设置——>空间管理——>分类管理,这G % r r !里面的G z & u `功能就是添加分类用的,它对应的数据库表是dede_mtypes,在我们添加分类后,在“我v . w I的分类管理”下面就用到了这个标记arrayS e 0 P V。我们打开文件mytypes.htm,大约在63行,找到{dede:array.mtypearr}{/dede:B , 4 T &array.mtypeV w H tarr},其中里面的mtypea8 G | \ B p ,rr是一个数组变量名,这个变量可以在文V : H 0 Q | . _ K件mtypes.php,大约在第25: \ / q
while($row = $dsql->GetArray(), Z , % B P ? 6 w)
{
$mtypearr[] = $row;
}
通过把数据库表dede_mtypes里的记录循环出来,然后,4 n i .放到二组数组$mtypearr里面,然后,在模板里就可以用{dede:array.mtypearr}{/dede:array.mtypearr}标签调用了。在这个标签中间又有{dede:value.mtype[ } d D { c ?id/}等的调用,这个标签里面的标签vlaue也是循环的一个一维数组,这里这个标签等价于<?D M y Sph: 2 r . e ` Lp echo value[‘mtypeid’] ?>。
总起来讲标签{dede:array.mtypT t w q M ! v Gearr}{dede:valA E Z ~ ) U 0ue.mtyp@ D S X Z Jeid/}{/dede:array.mtypearr} 就相当于如下php循环。
foreach($mtypearr as $value){
foreach($value as $k=>$v){
echo $v;
}
}
在织梦二次开发中,经8 z ( (常用到的标签= 0 6 8 y G D还有:
{dede:global.name/} 外部变量 等同于 <?php echo $name; ?>:这个短标记在文件O ( H 5 }functO ) a 2 + tion CompilerOneTag(&$cTag)里面第862行,经过编译后的结果是'<‘.’?php echo ‘.$cTag->tagValue.’; ?’.’>’
{dede:var.name/} var数组 等同于 <?php, M N O echo $_vars[‘name’]; ?> 编译后的值是'<‘.’?php echo ‘.$cTag->tagValue.p # M c j Y‘; ?’.’>’;
{dede:field.name/} field数组 等同于 <?php echo $fields[‘name’]; ?> 编译后的值是'<‘.’?php echo ‘.$cTag->tagValue.’; ?’.’>’;
{dede:cfg.name/} 系统配置变量 等同于 <?php echo $cfg_name; ?> 编译后的值是'<‘.’?php echo ‘.$cTag->tagValg t M m f Z s p |ue.’; ?’.’>’;
不有标记:config,name,object,key,value,echo,ar+ % ! # L Vray,php,if,include# T t s 6 S X i 4,labp : c s 2 nel,datalist,pagelist等。
还有一A W B y X z w N q个在织梦会员中心踩踩模板里面的,{dede:list bind=’GetSortArc’ ordZ b Z \ + ker=’click’ orderway=’desc’}{/dede:liL ` , Zst},这个我们在前台模板里面,一般用在列表页调用数据,而在会员中心,跟列表页重名的li= t 9 4st在这里用法类似,但是增加了一o Q m E Y R *个属性bind,这个属性值是:“数据源来源函数”,请注意,这个list跟前台模板中的list不是一个东西。最根本的原因就是会员中心的是用的动态模板引擎,而前台模板用的是静态模板引擎,所以,用法当然,就不一样了,功能更不一样,在二次开发中这个不是常用^ Z L M = 6 U,但是在这B ` N ~里作一下记号。
如果经常做织梦二次开发的朋友,这些标签是不可跳过的,经常使用,当然,我们可以自己去修改模板引擎,来自己定义自己的标( m c r ^ z签。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用] – a途,如果损害了您的权利,请联系网站客服处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注