微信模板 标签以及实例

微信平台模板和标签讲解

 

 

基本标签

{site.Url}                                                 网站目录 相当于 http://weixin.cqzuxia.com/

<zuxia:site.page.title/>                        页面标题 

频道标签

{$ChannelId}                                                  频道id

{$ChannelName}                                             频道名称

{$ChannelType}                                               频道类型

{$ChannelItemName}                                       频道项目名

{$ChannelItemUnit}                                         频道项目单位

{$ChannelInfo}                                               频道简介

 

栏目标签

{$ChannelId}                                                  频道id

{$ChannelName}                                             频道名称

{$ChannelType}                                               频道类型

{$ChannelDir}                                                 频道路径

{$ChannelMenu}                                             栏目导航菜单

{$ChannelItemName}                                       频道项目名

{$ChannelItemUnit}                                         频道项目单位

{$ClassId}                                                       栏目id

{$ClassName}                                                 栏目名称

{$ClassInfo}                                                    栏目简介

 

 

内容标签(以文章为例,其他模型类似)

{$ChannelId}                                                  频道id

{$ChannelName}                                             频道名称

{$ChannelType}                                               频道类型

{$ChannelDir}                                                 频道路径

{$ChannelItemName}                                       频道项目名

{$ChannelItemUnit}                                         频道项目单位

{$ClassId}                                                       栏目id

{$ClassName}                                                 栏目名称

{$_id}                                              文章编号

{$_title}                                              文章标题

{$_img}                                            标题图片地址

{$_summary}                                        文章简介

{$_adddate}                                          文章发表日期

{$_tags}                                             文章标签

{$_author}                                           文章作者

{$_editor}                                            文章编辑

{$_sourcefrom}                                  文章来源

{$_viewnum}                                        文章浏览数

{$_getNeightor()}                                    上、下篇文章

 

频道循环标签

<zuxia:channelloop…></zuxia:channelloop>

       repeatnum                                                必填:循环次数

       selectids                                                   可选:选择的频道id,用“|”隔开

       orderfield                                                        可选:排序字段,默认为pid

       ordertype                                                  可选:排序方式,默认为asc

 

 

        循环体内可以使用频道标签栏目循环标签

 

 

栏目循环标签

<zuxia:classloop…></zuxia:classloop>

 

              channelid                                    必填:频道ID

        repeatnum                                  可选:循环次数,0表示不限制

        depth                                         可选:栏目深度,0本频道所有栏目,如果大于0将表示第几级栏目,-1表示最末级栏目

        selectids                                     可选:用于循环的栏目id,以"|"分隔开

        parentid                                      可选:父级id,如果没有这个参数或参数值为0则不限制

 

 

        循环体内可以使用的内容循环标签

              {$ClassNO}:第n个循环体,从1开始计算

 

 

 

 

 

内容循环标签

基本功能

 

<zuxia:contentloop ...></zuxia:contentloop>

       fields                                                必填:调用的字段

       channelid                                           可选:频道ID(默认0)

       channeltype                                       可选:频道模型(channelid为0时有效,否则就是选定的频道模型)

       classlid                                              可选:栏目ID,如果为0就取该频道所有的栏目(默认0)

       repeatnum                                         可选:循环记录数(默认10)

       istop                                                        可选:是否置顶(默认0,-1:不置顶;1:置顶;0:不约束)

       isfocus                                              可选:是否焦点(默认0,-1:不是焦点;1:是焦点;0:不约束)

       isimg                                                可选:是否带缩略图(默认0,1:带;0:不约束)

       orderfield                                                 可选:排序字段(默认id)

       ordertype                                           可选:排序方式(默认desc)

       timerange                                                 可选:时间约束(1d:今天,1w:本周,1m:本月,1y:本年度 如果不赋值就是不约束)

 

 

 

 

循环内容模板说明:

<#foreach collection="${contents}" var="field" index="i">…<#/foreach>

是记录的循环标记,循环体内使用${field.title}这样的格式来表示字段值,另外还有几个内置标签:

$_{url}                内容的链接地址

$_{img}                缩略图地址

$_{classname}          内容所属的栏目名称

$_{classlink}          内容所属的栏目地址

$_{channelname}        内容所属的频道名称

$_{channellink}        内容所属的频道地址

 

 

实例1

 

<zuxia:contentloop channelid="1" classlid="0" repeatnum="10" fields="title,tcolor">

<ul>

<#foreach collection="${contents}" var="field" index="i">

<li><a href="$_{url}" title="${field.title}" style="color:${field.tcolor}">${field.title}</a></li>

<#/foreach>

</ul>

</zuxia:contentloop>

说明:取频道编号为1的前10条内容,字段取标题和标题颜色。

 

扩展功能(适合复杂循环)

在内容循环中可以使用条件语法(条件语法还可以嵌套),具体如下:

 

<#if test="${测试条件}">

<#else>

<#/if>

 

测试条件的函数有如下

equals(obj1, obj2) - 测试obj1 和 obj2 是否相等.
notequals(obj1, obj2) - 测试obj1 和 obj2 是否不相等. 相当于:not(equals(obj1, obj2))
iseven(num) - 测试 num 是否为偶数
isodd(num) - 测试 num 是否为奇数
isempty(string) - 测试 string 长度是否等于0. 相当于:equals(string.Length, 0)
isnotempty(string) - 测试 string 长度是否大于0.
isnumber(num) - 测试 num 是否为数字

toupper(string) - 格式化成大写
tolower(string) - 格式化成小写

length(string) - 得到string的长度

isnull(obj) - 测试obj 是否为 null

not(boolvalue) - boolvalue为true时为false,boolvalue为false时为true
iif(booleanExpression, iftruevalue, iffalsevalue) - 形如C#中的 booleanExpression ? iftruevalue : iffalsevalue
例如:
${iif(isodd(i), "bgcolor=yellow", "bgcolor=red")}

cint(value) - 使用 .net类库中的接口Convert.ToInt32)
cdouble(value) - 将值格式为成 double型
cdate(value) - 将值格式为成 DateTime型. 例如: ${cdate("2005-5-1")}
cdatestring(value, string1) - 使用指定的string1格式将当前值格式化. 例如: ${cdatestring("2005-5-1","yy-MM-dd")}
gt(obj1, obj2) - 当obj1大于obj2时为true
lt(obj1, obj2) - 当obj1小于obj2时为true

is - 例如: ${obj1 is obj2}.
isnot - 例如: ${obj1 isnot obj2}
and -例如: ${obj1 not obj2} 类似C#中的: &&
or - 类似C#中的:||
lt, lte, gt, gte - 分别类似 ("<"、"<="、">"、">=").

 

实例2

 

<zuxia:contentloop channelid="1" classid="0" repeatnum="10" fields="[title],[summary]" orderfield="viewnum">

<#foreach collection="${contents}" var="field" index="i">

<#if test="${i lt 4}">

     <#if test="${equals(i,1)}">

     <dt><span class="ranknum red">${i}</span><a href="$_{url}" title="${field.title}">${field.title}</a></dt>

     <dd><#cutstring len="40">${field.summary}<#/cutstring>...<a href="$_{url}" target="_blank">[阅读全文]</a></dd>

     <#else>

     <dt><span class="ranknum red">${i}</span><a href="$_{url}" target="_blank" title="${field.title}">${field.title}</a></dt>

     <#/if>

<#else>

     <dt><span class="ranknum">${i}</span><a href="$_{url}" target="_blank" title="${field.title}">${field.title}</a></dt>

<#/if>

<#/foreach>

</zuxia:contentloop>

 

 

说明:

1、  取频道编号为1的前10条内容,字段取标题和简介;

2、  定义了ranknum、red等几个css样式;

3、  前1条记录的前缀样式是ranknum red,后3条记录的前缀样式是ranknum;

4、  如果是第1条记录,则有简介,否则不带简介。

5、  其中i表示当前循环的次数

 

 

 

 

标签实例讲解(一)

 

效果图

效果需求如下:

  1. 取本周、本月的前10条新闻,按照点击率倒序(viewnum);
  2. 前三条记录的序号背景是红色,后7条新闻的序号背景是灰色;
  3. 第1条新闻是带简介功能的,其余9条新闻不带简介。

 

其实实现的思路很多,这里就举例一种最容易懂的结构:

for 10次{

    if(序号小于4){

        if(序号等于1){

            背景色是红色,输出标题和最大60(这个值根据页面自由设定)个字符的简介;

        }

        else {

            背景色是红色,输出标题;

        }

    }

else {

    背景色是灰色,输出标题;

}

}

 

再定义几个css,这里就省略了。

 

 

最后整体的标签如下:

<zuxia:contentloop channelid="0" classid="0" repeatnum="10" fields="[title],[summary]" orderfield="viewnum" timerange="1w"> <!--取10条记录,约束时间是1周内,排序字段是viewnum,方式是倒序,取的字段是标题和简介-->
<#foreach collection="${contents}" var="field" index="i">
<#if test="${i lt 4}"> <!--如果已循环的次数少于4-->
 <#if test="${equals(i,1)}"> <!--如果是第一次循环-->
  <dt><span class="ranknum red">${i}</span><a href="$_{url}" target="_blank" title="${field.title}">${field.title}</a></dt>
  <dd><#cutstring len="60">${field.summary}<#/cutstring>... <!--取简介的前60个字符--> <a href="$_{url}" target="_blank" class="songti">[阅读全文]</a></dd>
 <#else>
  <dt><span class="ranknum red">${i}</span><a href="$_{url}" target="_blank" title="${field.title}">${field.title}</a></dt>
 <#/if>
<#else>
 <dt><span class="ranknum">${i}</span><a href="$_{url}" target="_blank" title="${field.title}">${field.title}</a></dt>
<#/if>
<#/foreach>
</zuxia:contentloop>

 

 

更多复杂的标签应用请自己发挥吧。

posted @ 2013-09-14 19:10  我是张朋  阅读(529)  评论(0编辑  收藏  举报