逐浪CMS强大的内核给我们WEB开发者带来了很多方便,特别像我们这样的小公司,用了逐浪CMS后,可以多接很多的业务。
前几年头条的兴起证明了用户对图+文的列表展示是非常喜欢的。
在用逐浪CMS MVC版本的时候,我曾经写过一个一个节点多个模型,组成一个头条样式。
按通常的逻辑,一个模型,可以写成图+文。有图有标题,再来个简介,组成一个漂亮的样式,是非常简单的事情。
但是,如果多模型的时候,就比较复杂了。很明显一个标签写出这个样式来是非常麻烦的,我想了很久也没有想出办法。
最后基本逐浪CMS强大的判断模式,用了多步标签判断才成功的做出了头条展示
案例说明
一节点下,4个模型 ModelID=52 53 54 55
第一步,获得全局内容ID,然后再具体的根据每个内容模型来判断输出,这里调用的为内容ID
第二步:通过上面的内容ID,我们来得到这个内容的相关信息:如ModelID,Title,topimg,简介等(后面简写判断标签)
判断条件:如果ModelID=52则展示,否则用模型53判断标签查询
第三步,模型53判断标签查询,
判断条件:如果ModelID=53则展示,否则用模型54判断标签查询
以此类推写到55
这样层级下去最后做出来多模型头条样式
在逐浪CMS.net V8版本出来以后,本人对这一版本非常喜欢,很多的操作、功能上都更加人性化了,可以很大程序的简少网站编辑的工作量。于是我在新的case当中,我选用了逐浪CMS.net V8 .
MVC版和V8版本,基本功能是差不多的,还是那个熟悉的界面,还是那个强大的内核,但是在细节方面做了很大的优化。
上面的头条样式,是基于标签的判断模型写的,在V8当中却是不可以的
在V8当中,判断标签是不可以用字段直接判断的。只支持动态标签、系统标签、扩展函数。
而且,就算是用标签,标签的变量也需要写进标签内部,如果在标签外对变量赋值也是不可取的。
例:
{ZL.Label id="导购列表67" Gid="1" DesNum="1" /}这样就不可以用于判断模式中
{ZL.Label id="导购列表67" /} 这种的就可以
如果在标签内部很多变量需要控制,这样尴尬的事情就出现了……。功能做不出来
想这个问题,我也是想了很久。
抱着先吃肉后啃骨头的想法,我把这个问题扔下了,先做了别的。
今天在写CSS的时候,突然得到了灵感。……
.class{Field="NodeID"/} {...}
这个样式是来判断当前节点的样式
然后我就想,逐浪CMS这么强大的内核,可不可以直接采用CSS这样判断法来写标签呢?
说试就试
第一步,先写个部标签来调取内容ID与模型ID
主要的标签内容为“{ZL.Label id="导购列表{Field="ModelID"/}" Gid="{Field="GeneralID"/}" DesNum="200" /}”
通过这个标签名字来直接选择用哪个标签进行信息调用
第二步,写具体的该模型内容
根据内容模型的不同我分别写出了导购列表64 66 67 三个标签
然后就可以直接进行查询展示,不必再向以往那种层级判断了……大大简化了查询过程。
最后得到的样式如下
三个模型可以,多个模型也可以,像我们这类房产站的,我最多的一个节点用了7个内容模型。虽然这个节点不需要这种样式 ,但是如果想用,逻辑也是行的通的
扩展:
我在写这些标签的时候都是一个节点下的。同样的道理,多个节点类似的内容用这种“多模型判断展示法”也是可以实现头条样式展示的
逐浪CMS自由的内容给了我们很多的发挥空间,我是这次通过这种CSS样式判断得到了多模型判断,想必大家在使用过程当中也有自己的心得,大家可以都 拿出来分享一下。
下面是我的一个新站,希望大家点评一下 上格筑家www.3j99.cn