VeryCms模板体系的简要说明

2007-07-04 17:57 来源: http://www.phpwind.net 作者:VeryCMS 网友评论 5 条 浏览次数 2597
对于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] 来显示其内容

更多的功能使用,您可以慢慢体会,我们也将会在今后提供更为详细的帮助文件。
上一篇: 下一篇:

相关主题:PHPWind  VeryCMS  模板  标签

网友评论