`
zhangziyangup
  • 浏览: 1079141 次
文章分类
社区版块
存档分类
最新评论

标签嵌套循环:灵活的条件判断建立图文头条样式

 
阅读更多

前言:使用易点已经快两个月了。从初见惊艳,到再见钟情,对易点多一分了解,就更多一分热衷。或许,易点真的能够做到大家的理想:只有想不到,没有做不到?闲话少说,小小介绍自己的使用心得。

需求:实现很多网站的“图+简介+普通文章列表”效果。有图有**,如下图,图片来自新浪新闻首页:


初始思路:

1、建立两个样式,分别是图+标题+简介样式,和普通列表样式。

2、建立一个标签,在其中插入由以上两个样式建立的文章列表,分别图+标题+简介调用一条文章,普通列表样式调用自己想用的条数。

实现效果如下:


为了方便比我还菜的朋友,我把本帖所使用的样式、标签内容放在最后。这里就不列出了。此标签值得说明的是,第一条数据我只想调用有图片的文章,所以加了条件判断,排除了首页图片字段为空的文章,具体写法是在标签里面“where=""”里面加上[ImageText](<>)<>,这样,判断条件语句为:where="[ImageText](<>)<>"。关于条件判断的使用,参考此贴:[url=http://bbs.diancms.com/showtopic-7.aspx]http://bbs.diancms.com/showtopic-7.aspx[/url]但,这样就完美山寨了第一图的范例了吗?其实还存在问题。

问题:眼尖的发现了吗?


红框里面的文章是重复的,也就是说,下面的普通文章列表里面调用的文章不能把“图+标题+简介”已经调用的文章过滤掉,不完美啊不完美。怎么办?

解决办法:寒说,易点有办法。

1、建立又一个样式,里面就只有一个内容:id,此样式的使用类型为列表样式。你习惯*地在后台界面上列出的字段列表里面是找不到的,自己手写进去吧:482,或者用寒说的,随便点个字段出来,再改成这样。

2、建立一个新的标签,内容与之前那个标签里面“图+标题+简介”的内容一致,除了样式用上一步里面建立的单独文章ID样式。最好是复制过来手动改掉样式ID,在除了样式变了,其他的条件不变的情况下(比如我这里一定要是首页图片字段不为空的条件),这样调用出来的结果是一个文章的ID,而且就是“图+标题+简介”标签内容调用的那一条文章的ID。

3、这一步简单了,就是在普通文章列表的调用里面,把“图+标题+简介”已经调用过的那篇文章过滤掉。用的语句是:where="[ID](<>)<>"。红字部分按你自己的标签名字来。注意,后面是<>,不要把“<>”给忘了。看我忘了后出现什么?


加上了“<>”,怎么还有问题?


真是考眼力!发现34后面似乎有个空格。是这个标签或者之前单独ID的样式里面哪里多敲了一个空格。去掉以后就好了。结果,或者成果:


果然去掉了重复的那个“与阳光同行”,冬日阳光啊!

总结:原理:标签嵌套循环解释:上个标签的结果可以返回给下个标签所使用。或者说,里面的标签结果可以返回给外面的标签当条件使用,而且是无限级循环嵌套。假设我的标签,调出来的不是这个——


而是一个数字,那么这个标签,还可以带入其他标签作为条件使用。比如这样:


以下是我的样式、标签内容,请自行修改模型ID和栏目ID及其他相关参数,及使用相应的CSS类以后使用,切切。“图+标题+简介”样式:

  • 标签嵌套循环:灵活的条件判断建立图文头条样式

    {D_F_Content#len(200)}…<了解详情>

    普通文章列表样式:
  • · 标签嵌套循环:灵活的条件判断建立图文头条样式[{D_F_AddTime#formattime(yyyy-MM-dd)}]那个单独调用ID的样式就不用写了吧。标签:{$D Id="InfoList" ModelId="9" ColId="2" IsChildCol="False" RadChildList="1" CheckChildList="False" Columns="1" DivDirection="H" DivRepP="p" DivRepId="" DivRepClass="" StyleId="60" Layout="table" InfoNum="1" DateRange="0" SelectColumn="[Column](=)<30>@0" Where="[ImageText](<>)<>" Link="and" Order="addtime desc" RowInsert="0" InsertHtml="" Ajax="" /}文章列表标签内容:
    {$D Id="InfoList" ModelId="9" ColId="2" IsChildCol="False" RadChildList="1" CheckChildList="False" Columns="1" DivDirection="H" DivRepP="p" DivRepId="" DivRepClass="" StyleId="6" Layout="table" InfoNum="1" DateRange="0" SelectColumn="[Column](=)<30>@0" Where="[ImageText](<>)<>" Link="and" Order="addtime desc" RowInsert="0" InsertHtml="" Ajax="" /}
    {$D Id="InfoList" ModelId="9" ColId="2" IsChildCol="False" RadChildList="1" CheckChildList="False" Columns="1" DivDirection="H" DivRepP="p" DivRepId="" DivRepClass="" StyleId="4" Layout="table" InfoNum="5" DateRange="0" SelectColumn="[Column](=)<30>@0" Where="[ID](<>)<>" Link="and" Order="addtime desc" RowInsert="0" InsertHtml="" Ajax="" /}
    仍有问题的请跟帖或者在群里与我交流。我的qq昵称是阿土。或者直接**扰寒吧,智慧属于他。有些话我直接引用他的。:D
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics