很多初学者包括我在内,在刚刚学习使用帝国cms灵动标签e:loop时,都是一昧地模仿,或者是生搬硬套,结果导致调用数据常常出错,浪费大量时间,还搞到自己苦不堪言,关键原因就是不了解这个标签的意义及用法。下面就根据本人自己的学习经历和认识,谈谈灵动标签e:loop的用法:
一、e:loop的概念
灵动标签e:loop其实就是一个的循环调用函数(标签),用于php调用后台数据包括:文字、图片、链接等数据信息。
这个标签的特点是适用性广,调用方便,而且调用的不止是数据信息,还包括模板结构,也即是可以带格式(或样式)调用并按照要求显示出来。
二、e:loop的代码格式
[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
模板代码内容
[/e:loop]
举例说明:
比如要调用后台栏目中的几则图 片新闻,用e:loop标签调用就可以写成:
[e:loop={2,5,0,1,'newstime DESC'}]
[/e:loop]
第一,在[e:loop={2,5,0,1,'newstime DESC'}]中:
2 表示调用后台栏目ID为2的内容,要调用多个栏目时,栏目ID之间用逗号分开,外面单引号引回;
5 表示调用新闻条数是5;
0 表示调用最新的新闻;
1 表示带标题图片的新闻,(如果改为0则表示不限制是否有图片);
newstime DESC 表示调用的新闻是按时间降序调用的(即最新的先调用),省略则表示无条件限制;
第二,
~
这段表示的是调用的结构代码(也是输出格式控制代码)。
三、e:loop标签使用要注意的几个问题
第一,什么时候需要用到e:loop标签?
答:e:loop标签是循环调用函数,也就是当需要调用会变化或更新的数据才用到这个标签,比如新闻图片及内容、产品图片及内容及新闻链接等。
对于固定显示而不需要经常改变的数据则不需要用到e:loop标签,比如网站名称、logo等。
第二,e:loop标签中什么可以改,什么不能改?
答:使用e:loop标签时,是要连带要显示的内容结构一起调用,并且不能随意修改调用的格式,比如上面例子中的
~
格式就是整体调用的,整个格式都不能修改;
可以修改的是(1)调用条件如上例子中{2,5,0,1,'newstime DESC'}里面的变量;
(2)调用模板内的变量,比如链接地址、图片地址、标题、文章内容等,可以用灵动标签内对应的变量来替换。
比如:
变量表示 获得标题链接地址;
变量表示 获得标题内容;
变量表示 获得标题图片;
变量表示 获得新闻文本内容;
变量表示 获得带格式的时间等。
第三,其他使用问题
使用e:loop标签时在修改变量要对应修改或替换的位置,不能出错,而且变量标签最好是全部复制粘贴,不要自己写,减少差错。
总之,e:loop标签是一个非常好用的标签,但一定要先理解它的结构和使用方法才去使用,如果只是简单模仿,肯定会出现很多问题。
以上是本人刚刚学用灵动标签的一些认识,还未完善,后面要继续学习加深认识。