对于CMS这种网站内容管理系统,就我们看来,与其让用户更方便的在后台设置前台的显示内容,不如更便捷的让用户在模板中调用内容,毕竟再方便的后台设置所能提供的前台显示也是有限的,而只有充分发挥用户的智慧,才能够制作出真正千变万化,富有特色的站点内容。VeryCMS 3.0 的目标便是如此。
如何在模板中调用内容
VeryCMS的模板体系引入了cms loop两个标签,前者用于读取所需要调用的内容,后者用于循环输出其调用结果,举例如下:
<cms type=”cms” action=”thread” mid=”1” cid=”2” num=”10” />
请注意区分大小写,此处的<cms />是小写,且严格以<cms开始 />结尾,且每一个属性的值都用双引号括起来
1. type属性表明调用的类别,值为cms表明调用的是栏目内容 为bbs则表明调用的是bbs数据 blog表示博客数据。
2. action 表示调用的方法,thread表明是调用内容列表
3. mid 表示调用的内容模型id
4. cid 表示调用的栏目,你可以用逗号区分多个栏目——但务必注意必须所有栏目为同一内容模型下,也可以使用 all-3这样的形式来调用栏目id 3下面的所有子栏目
5. num 表示调用的数目,num=”10” 表示从开始调用10条, num=”2,8” 表示从第二条开始调用,调用一共8条数据。 在栏目的列表页,如果您期望该栏目的内容列表需要分页处理,则可以采用 num=”page-10” 的形式,这将告诉程序:每一页调用10条,系统将会自动根据您的这一特殊标志来进行栏目分页生成,而分页的具体标签为 $cms::page 您可以把标签插入到您所想要它出现的任何位置。
6. 除此之外,还有where 属性,来表示要调用的条件限制,比如where=”photo!=’’” 这将表示不调用图片为空的内容
7. order属性表示调用的排序方法,如果没有指定,将默认按照内容的添加时间显示
8. digest 属性表示调用的精华类别,如果没有指定,则调用所有内容,也可以通过指定digest=”1” digest=”1,2” 这样的方式来调用精华推荐内容。
类似于<cms />这样的标签您可以把它放在您所需要调用的模板位置中,然后开始使用loop标签来输出其结果。
<loop>
<a href=”$val[url]”>$val[title]</a>
</loop>
更多的举例,如果您想要调用BBS内容的用户发帖排行:
<cms type=”bbs” action=”user” order=”postnum” num=”10” />
<loop>
<a href=”$val[url]”>$val[title]</a>
</loop>
如果您要显示栏目id为3下的所有子栏目
<cms type=”cate” action=”menu” cid=”3” />
<loop>
$val[cname]
</loop>
需要特别说明的是:所有的BBS/Blog调用内容以及系统自身内容的链接地址都由系统规范化,调用时$val[url]将会自动显示其正确的链接地址,所有的调用主内容字段都为title,无论是论坛的用户名还是内容的标题等等。
如何在模板中使用必要的函数
您可能需要对文章的标题进行截取,也可能需要对图片进行缩略,如今这一切都将能够在制作模板的时候随心所欲,函数部分将会有{@@}来标注区别。
比如在循环体内,使用{@substrs($view[title],30)@}将会自动对标题进行30个字符的长度截取。而如果要对图片进行缩略,则可以使用{@miniImg($view[photo],100,120)@} 这将会自动对图片进行宽度为100 高度为120的缩略处理。
主要可能在模板中使用到的函数介绍:
1. miniImg 三个参数,第一个是要进行处理的字段,后面的是缩略之后的宽度和高度,专门用于对图片进行缩略处理。
2. substrs 内容长度截取函数,两个参数,第一个是要进行处理的字段,后者是要截取的长度。
3. get_date 对时间进行格式化输出 两个参数,第一个是要进行处理的字段,后者表示时间的格式,如果忽略第二个参数表示使用默认格式。具体可以使用的时间格式如:”y-m-d H:i” “Y-m-d”等等
如何在模板中使用PHP逻辑
<!--# #在模板中可以被当作PHP的开始符号和结束符号一样使用。比如:
<!--#if($view[photo]){#
<img src={@miniImg($view[photo],150,200)@} />
<!--#}#
模板中的标签说明
模板中能使用的标签分为系统内置的标签以及内容模型的字段标签,说明如下:
1. $cate::position 当前位置
2. $cms::page 如果开启了自动分页,分页的具体内容
3. 所有调用出来的内容结果均为 $val[title] 的形式
4. 所有内容页,关于一个内容的字段表现均为 $view[title] 的形式
比如您为一个内容模型增加了opsys 这个字段来说明一个软件的适用平台,那么您在内容页中则可以插入一个 $view[opsys] 来显示其内容
更多的功能使用,您可以慢慢体会,我们也将会在今后提供更为详细的帮助文件。
如何在模板中调用内容
VeryCMS的模板体系引入了cms loop两个标签,前者用于读取所需要调用的内容,后者用于循环输出其调用结果,举例如下:
<cms type=”cms” action=”thread” mid=”1” cid=”2” num=”10” />
请注意区分大小写,此处的<cms />是小写,且严格以<cms开始 />结尾,且每一个属性的值都用双引号括起来
1. type属性表明调用的类别,值为cms表明调用的是栏目内容 为bbs则表明调用的是bbs数据 blog表示博客数据。
2. action 表示调用的方法,thread表明是调用内容列表
3. mid 表示调用的内容模型id
4. cid 表示调用的栏目,你可以用逗号区分多个栏目——但务必注意必须所有栏目为同一内容模型下,也可以使用 all-3这样的形式来调用栏目id 3下面的所有子栏目
5. num 表示调用的数目,num=”10” 表示从开始调用10条, num=”2,8” 表示从第二条开始调用,调用一共8条数据。 在栏目的列表页,如果您期望该栏目的内容列表需要分页处理,则可以采用 num=”page-10” 的形式,这将告诉程序:每一页调用10条,系统将会自动根据您的这一特殊标志来进行栏目分页生成,而分页的具体标签为 $cms::page 您可以把标签插入到您所想要它出现的任何位置。
6. 除此之外,还有where 属性,来表示要调用的条件限制,比如where=”photo!=’’” 这将表示不调用图片为空的内容
7. order属性表示调用的排序方法,如果没有指定,将默认按照内容的添加时间显示
8. digest 属性表示调用的精华类别,如果没有指定,则调用所有内容,也可以通过指定digest=”1” digest=”1,2” 这样的方式来调用精华推荐内容。
类似于<cms />这样的标签您可以把它放在您所需要调用的模板位置中,然后开始使用loop标签来输出其结果。
<loop>
<a href=”$val[url]”>$val[title]</a>
</loop>
更多的举例,如果您想要调用BBS内容的用户发帖排行:
<cms type=”bbs” action=”user” order=”postnum” num=”10” />
<loop>
<a href=”$val[url]”>$val[title]</a>
</loop>
如果您要显示栏目id为3下的所有子栏目
<cms type=”cate” action=”menu” cid=”3” />
<loop>
$val[cname]
</loop>
需要特别说明的是:所有的BBS/Blog调用内容以及系统自身内容的链接地址都由系统规范化,调用时$val[url]将会自动显示其正确的链接地址,所有的调用主内容字段都为title,无论是论坛的用户名还是内容的标题等等。
如何在模板中使用必要的函数
您可能需要对文章的标题进行截取,也可能需要对图片进行缩略,如今这一切都将能够在制作模板的时候随心所欲,函数部分将会有{@@}来标注区别。
比如在循环体内,使用{@substrs($view[title],30)@}将会自动对标题进行30个字符的长度截取。而如果要对图片进行缩略,则可以使用{@miniImg($view[photo],100,120)@} 这将会自动对图片进行宽度为100 高度为120的缩略处理。
主要可能在模板中使用到的函数介绍:
1. miniImg 三个参数,第一个是要进行处理的字段,后面的是缩略之后的宽度和高度,专门用于对图片进行缩略处理。
2. substrs 内容长度截取函数,两个参数,第一个是要进行处理的字段,后者是要截取的长度。
3. get_date 对时间进行格式化输出 两个参数,第一个是要进行处理的字段,后者表示时间的格式,如果忽略第二个参数表示使用默认格式。具体可以使用的时间格式如:”y-m-d H:i” “Y-m-d”等等
如何在模板中使用PHP逻辑
<!--# #在模板中可以被当作PHP的开始符号和结束符号一样使用。比如:
<!--#if($view[photo]){#
<img src={@miniImg($view[photo],150,200)@} />
<!--#}#
模板中的标签说明
模板中能使用的标签分为系统内置的标签以及内容模型的字段标签,说明如下:
1. $cate::position 当前位置
2. $cms::page 如果开启了自动分页,分页的具体内容
3. 所有调用出来的内容结果均为 $val[title] 的形式
4. 所有内容页,关于一个内容的字段表现均为 $view[title] 的形式
比如您为一个内容模型增加了opsys 这个字段来说明一个软件的适用平台,那么您在内容页中则可以插入一个 $view[opsys] 来显示其内容
更多的功能使用,您可以慢慢体会,我们也将会在今后提供更为详细的帮助文件。

