剑鱼论坛主题制作之基本标签语法

 剑鱼论坛 发表于 2019年12月18日 剑鱼主题教程  126
剑鱼论坛
LV 5 [初中]
最后在线:4小时前
加入时间:257天前
主帖:83  跟帖:44

在上一篇《剑鱼论坛主题制作之提取公共代码》里面我们学习了如何把一些公共的代码提取到单独的文件里面,可以方便模板的制作且让代码更清晰和简洁。这一篇我们将学习新的内容,介绍一下剑鱼论坛主题制作中要用到的标签语法。

我们在系统默认主题“default”的代码中会看到一些用大括号括起来的代码,这些代码就是模板标签,包括我们上一篇介绍的代替公共文件中的代码的“{include file="public/theme/default/daohang.html" /}”,这也是一个标签。下面我们来介绍一下其他的标签语法:

一、简单标签:

有些标签是类似于这样的标签:

{$title}

这种标签很简单,大括号内部是一个以“$”开头的字符串,从字面意思可以看出来,这个标签表示的是输出标题。像这种简单标签主题代码里面有很多,因为其语法十分简单,所以我们把其称之为“简单标签”,简单标签我们后面将用一篇内容来介绍,这里只是介绍语法,就是使用的方法。

有一点编程基础的用户都知道,包括只会前端的用户应该曾经接触过一点JavaScript的代码,知道里面有判断语句和循环语句,我们的标签语法里面也有判断语句和循环语句,下面我们来详细看一下:

二、判断标签:

判断标签有三种,分别如下:

1、if标签语句:

先来看下面的代码:

{if $vo.active == 1}
输出1
{else /}
输出2
{/if}

上面的代码是一个if标签语句,用来判断条件是否满足,如果满足的话则输出1,否则输出2,这里为了简化说明,只使用“输出1”和“输出2”来代替实际的HTML输出。如果只需要一个判断分支,那么“else”是可以省略的,如下:

{if $vo.active == 1}
输出
{/if}

if语句还有另一种用法,如下:

{if condition="$vo.active eq 1"}
输出
{/if}

这里仅仅是比上面的用法多了“condition”,实际上是一样的,只是把判断的条件放到了双引号里面了。介绍这个用法,只是在默认主题里面有几个if语句是这样写的,您能够看得懂就可以了。其中的“eq”相当于“==”,表示等于。

2、notempty标签语句:

notempty表示的是判断是否不为空,我们先来看下面的代码:

{notempty name="vo.zuijinfangwen"}
输出
{/notempty}

上面的代码表示“name”这个条件如果不为空的话,那么输出。当然您也可以根据实际情况使用else,如下:

{notempty name="vo.zuijinfangwen"}
输出1
{else /}
输出2
{/notempty}

上面的代码表示条件不为空时输出1,否则输出2,这个语法对于判断输出是否为空很有用处。

3、empty

很显然,“empty”标签是跟“notempty”标签正好相反的,是用来判断是否为空,见下面的代码:

{empty name="vo.zuijinfangwen"}
输出
{/empty}

上面代码的意思是如果“name”所表示的变量输出为空的话那么输出。同样地,empty标签也可以结合else使用。

三、循环标签:

我们先来看循环标签的代码:

{volist name="daohang" id="vo"}
{$vo.icon} {$vo.label}
{/volist}

上面的标签就是循环标签“volist”的用法,“name”表示对什么进行循环,id表示每个循环输出项的id,可以用来在循环体内部代表每个循环输出项,例如“{$vo.icon}”就是表示输出这个id为“vo”的项的图标。当然,这里的“vo”您可以按您自己的喜好替换成其他的字符,例如下面的代码是等效的:

{volist name="daohang" id="item"}
{$item.icon} {$item.label}
{/volist}

这里为了说明清晰,省略了其中的HTML代码,实际使用中需要结合HTML的输出,有的时候还需要结合上面介绍的判断标签一起使用。

好了,基本的标签语法就介绍完了,学习了这些标签语法就能够看懂默认主题里面的标签了,更进一步的话,您也可以自己设计和制作需要的主题了,虽然主题的制作也是一件很费时费力的事情,但只要您有耐心和技术就能完成。

下一篇是“剑鱼论坛主题制作之简单标签”,我们将介绍简单标签。

论坛主帖
145
论坛跟帖
110
在线访客
1
今日主帖
0
今日跟帖
0
今日注册
1
41
http://jianyuluntan.com/gentie.html
http://jianyuluntan.com/postzan.html
http://jianyuluntan.com/postcai.html
http://jianyuluntan.com/postshoucang.html
http://jianyuluntan.com/gentiezan.html
http://jianyuluntan.com/gentiecai.html
http://jianyuluntan.com/huifu.html
http://jianyuluntan.com/xiugai.html
http://jianyuluntan.com/shanchugentie.html
1
XzA=
1
© 2019 - 2020 剑鱼论坛 版权所有
Powered by JianYuLunTan
剑鱼论坛 976666861
http://jianyuluntan.com/feedback.html
http://jianyuluntan.com/qiandao.html
http://jianyuluntan.com/denglu.html
0
http://jianyuluntan.com/adenglu.html