逐浪云主机

立即开通

制作文章头条效果

作者:xiaodon9老师 发布时间:2010-01-08 来源:本站原创 点击数:
在许多CMS中,有一个头条效果。。今天我来做一个头条效果的教程。希望大家通过这
个教程,可以更加深刻的理解表,表与表之间,表与字段之间,以及动态标签的设计方法

    一、建立模型字段
    我们看了无名竹的《主表与从表》http://bbs.zoomla.cn/showtopic-4830.aspx的关系这一教程,会明白文章内容模型有两个
表,一个是commonmodel,另一个是系统默认文章模型表名为ZL_C_Article。在文章模型中,
有许多系统级别为系统的字段,这些字段是自动建好的。存放在commonmodel表中,而我们
要建一个头条的字段。
    方法如下:点击系统配置——内容模型管理——文章模型,点击字段列表,点击添加字
段,字段名设为topline,其他设置如图。我用的是单选项,其他字段类型没测试过。这里
必须明确的是,这个字段被建在了ZL_C_Article中。
     
  二、设计动态标签
    点击系统配置——标签管理——添加动态标签,写好名称和分类。我取名为:调用头
条文章
    主表选为commonmodel,查询字段选择以下字段:
    从表选为ZL_C_Article,查询字段,选择以下字段:
    约束字段,我的理解就是两个表的关联的意思。设置如下:leftjoin    itemid=id 
    itemid是相应表的记录ID。ID的数值与itemid在COMMONMODEL表中的数值是一样的。所
以他们可以关联。
    查询字段:    CreateTime,GeneralID,ItemID,NodeID,Title
    ID,topline
   
    添加查询参数:如图
   
    查询条件:由于头条文章可能是在任何一个级别的节点上,所以查询首先加上一个包
含当前节点和子节点的查询语句:nodeid in(select nodeid from zl_node
where parentid=@nodeid or nodeid=@nodeid or parentid in (select nodeid from
zl_node where
parentid=@nodeid)  or  parentid in (select nodeid  from zl_node
where parentid in (select nodeid from zl_node where parentid=@nodeid))
) and status=99    其次再加个and topline=1
    文章模型就是一个表来理解。一个二维表,二维表中有很多的栏目,我们就查询
当前栏目节点及子栏节点topline=1这个条件的数据。。。。
    完整的查询条件就是nodeid in(select nodeid from zl_node
where parentid=@nodeid or nodeid=@nodeid or parentid in (select nodeid from zl_node where
parentid=@nodeid)  or  parentid in (select nodeid  from zl_node
where parentid in (select nodeid from zl_node where parentid=@nodeid))
) and status=99 and topline=1
    查询出来以后,还有一个排序的问题,所以我们在字段排序上选为按CreateTime 降序
排序。这样的作用是第一条始终是最新的一条头条数据。
    数据数目:加个参数 @shownum
    标签内容:加上<a href="[ERR:GetInfoUrl内容ID参数必须是数字])/}">[ERR:(CutText
)不可识别的扩展函数标签],@titellang,)/}</a>(这个标签内容的写法可以观看无名竹标签的设
计思路这一教程)
    保存。。。。。
    三、插入模板
    找到你所需要插入头条的盒子。找到<调用头条文章>这个标签。调用条数为1,标题长
度为20.
    在模板的最上方插入数据字段<节点栏目信息数据源标签>,将调用<调用头条文章>标签中的
nodeid的默认值改为节点栏目信息源标签中的{SField  FD="NodeID"/}标签。。
   
    保存模板
    四、测试标签
    打开所在栏目节点的页面
 

 

本文责任编辑: 加入会员收藏夹 点此参与评论>>
复制本网址-发给QQ/微信上的朋友
上一篇文章:留言二种方法详解
下一篇文章:逐浪CMS5.0标签升级方法