漂泊在另一座城市

乔客网站管理系统(Joekoe CMS)模板标签分析

一、数据标签

<label:block("{@channel}","li","sql_order=new;sql_append=username=’abc’;num_row=10;num_topic=30")>

这是最常见的一种数据标签。

①、频道名称:{@channel}

要调用的频道名称。如果该标签是写在某模块下的,则 {@channel} 可以被程序自动替换为当前频道标签。否则就必须指定如:down、gallery、news 等频道名称进行调用。也有写成如:forum.topic 的。表示调用某频道下面的某模块或者某子类别的数据。对应:common/channel/{@channel}/sql.xcml 文件中的 “label.{@channel}.XXXX” 节点。{@}表示当前频道。XXXX表示某模块或者某子类的名称。

②、标签模版:li

表示用以显示调用数据的标签样式的模版名称。标签样式对应:common/config/template/label.xcml 中的 “Block-li” 节点。比如样式“li_normal”对应“Block-li_normal”,模版中可用{$time} {$topic} {$topic} 等对应需要调用的数据。这些标签在调用时可替换为调用的数据。这些标签的对应规则依然参照common/channel/{@channel}/sql.xcml 文件中的 “table.field” 部分。可根据实际情况仿照增加或者删除相应字段数据的调用。

③、复合参数:

sql_order:调用类型,如热门(hot)、推荐(good)、最新(new)等。

该调用类型可在 common/channel/{@channel}/sql.xcml 文件中对应调用的频道(包括子模块或子类别)节点中的“block.order”,如需增加类型可仿照现有类型进行扩充。

sql_append:辅助SQL语句。可用于特殊类型数据调用时增加SQL查询条件。可直接在 “sql_append=” 后写你要追加的查询条件。

num_row:调用数量列数。指定调用数据的最大列数。

num_topic:调用数据标题的字符长度。

二、列表标签

<label:list("{@channel}","li_normal","sql_order=new;num_row=20;num_topic=30;num_summary=200")>

这也是常见的一种列表调用标签。

①、频道名称:{@channel},同数据标签说明。

②、标签模版:"li_normal",同数据标签说明。

③、复合参数:在数据标签基础上增加:

num_summary:简介说明的最大字符长度。

三、分类标签

<label:class("{@channel}","layer","classid=;num_col=;")>

<label:class("{@channel}","{@class.style}","classid={@classid};num_col=;")>

上面两种分别是普通分类调用标签和频道列表页分类调用标签。 

①、频道名称:{@channel} ,同数据标签说明。

②、标签模版:"li_normal" ,同数据标签说明。

另注:此处标签模版对应 label.xcml 文件中的““class-layer”,且下面的可用于频道的分类标签中的 {@class.style} 会根据当前是否根据分类访问而更换 “line” 或者 “layer” 模版显示。

③、复合参数:

classid :指定调用某一分类下的子分类。

num_col :下级分类显示的深度。 

四、分类循环标签:

<loop:class>

<div class="Block">

<div class="BlockBar">

<a class="more" href="http://www.joekoe.com/forum/[item:url]">>>更多</a>[item:name]

</div>

<div class="BlockList">

<ul>

<label:block("{@channel}","li_normal","classid=[item:classid];sql_order=new;num_row=10;num_topic=45")>

</ul>

</div>

</div>

<div class="space"></div>

</loop:end>

该标签一般是在频道首页出现,作用为调用并循环该频道的所有分类。并且在循环时嵌套一个数据标签用以调用该分类的下数据。

标签结构为:

<loop:class>  ……  [item:classid]  ……</loop:class>

在该标签内调用数据用 [item:abc] 显示或调用。

Abc 表示要调用的数据,目前规定:

url 表示该分类的连接地址。

Name 表示该分类的名称。

Classid 表示该分类的ID。

五、标签模版自定义功能说明:

<label:list("{@channel}","sql_order=new;classid={@classid};num_row=20;num_topic=30;num_summary=200")>

<li>

<a class="time right">{$time}</a>

<span class="class">[{$class}]</span>

<a class="topic" href="http://www.joekoe.com/forum/{$linkurl}">{$topic}</a>

<div class="summary">{$summary}</div>

</li>

</label:end>

说明:该标签频道参数复合参数于列表标签完全相同。只是缺少标签模版。而在后面增加了 </label:end> 这样一个结束标签。而标签中间的这段就是需要进行循环的标签模版。该标签模版的写法及修改方法等与系统自带的模版标签完全一直。该种删除标签中的标签模版参数并将模版写在结束标签之内的方法同样可以适用与数据标签<label:block>。
 

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Search

网站分类

最新评论及回复

最近留言