VeryCMS3.0版本自设计开始,便把“使用简单”这一基本理念融会于整个产品之中,无论是在后台的管理,还是在前台的模板设计,都力求用户能够简单的掌握。固然我们附带了默认的模板,但是我们相信,更多有能力的站长还是希望能够自己做有特色的模板,而不是千篇一律的默认模板,来让自己的站点更能够在多如瀚海的站点中脱颖而出。
VeryCMS 3.0版本的模板体系在旧有PHPWind模板体系上作了改进,考虑到性能以及模板代码的直观性,我们并没有采用一些诸如Smarty之类的模板体系,就我们看来,要真正意义上的完全逻辑和界面分离,是不可能做到的事情,其他的模板体系所作的只是将PHP代码更换为一种不像代码的代码,比如if($val>3){} 更换为 if val 这样的形式,固然看起来似乎更美一些,但是在实际上,仍然是一种逻辑,他的好处自然不言而喻,但是考虑到大家对PHPWind模板的熟悉,我们采取了两者结合的方式,即一定程度上简化我们旧有的体系,但仍然如果去一般,逻辑部分直接用传统的PHP书写,但事实上你将会发现,这些逻辑部分将会是非常简单。
模板的主要说明
1. 任何一个纯粹的HTML文件都可以作为模板,不同于过去的PHPWind模板必须在头尾套上一些PHP标签。
2. 在一个纯粹的HTML文件中,插入<!--# PHP代码 #--> 即可实现逻辑部分,中间的代码可以换行,完全是一个PHP的逻辑部分。因为<!--#标签类似于HTML的注释符,所以在利用诸如DreamWeaver工具设计页面的时候,逻辑部分将不会影响到你页面的设计。
3. 在<!--# #-->部分以外,模板中的任何一个地方,你都可以使用{@函数@}部分来执行一个PHP函数,这一点的设计将会使得图片缩略化,字符长度截取等CMS经常需要进行处理的内容变得非常方便。
具体的内容调用
1. 在<!--##-->部分中,您可以使用我们事先定制好的规则来获取一个需要的信息,然后再输出。所有基于CMS自身的内容显示为 $cms::thread 比如,我们将要获取一个新闻模型(mid=1),栏目ID为2(cid=2)的内容,要显示最新的三条:
<!--# $array = $cms::thread(“mid:1;cid:2;num:3”);#-->
这就表示根据我们刚刚列举的条件,把所有符合要求的数据返回到一个数组Array中去了,接下来的事情,我们就需要循环这个数组来显示内容。
<!--# foreach($array as $val){ #-->
文章标题:$val[title] 文章的链接 $val[url]
<!--#}#-->
完成。
2. 内容所需要的函数处理:
i. 如果要截取长度,比如标题的字符为30个字符以内,在页面中使用{@substrs($val[title],30)@} 即可。
ii. 如果要对图片进行缩略化,比如对图片缩略成75 * 75 的大小。则使用{@miniImg($val[photo],75,75)@}
iii. 如果要对时间的格式进行处理,则{@get_date($val[postdate])@}。
3. 下面举例一个相对复杂的调用方式,比如国际新闻的内容模型为1 栏目id为2 我们现在要显示该栏目下10条最新的图文内容,图片一律缩小到100*100像素,完整的调用为
<!--# $array = $cms::thread(cid:2;mid:1;num:10;where:photo!=’’;){#-->
<h1>国际新闻最新图文</h1>
<ul>
<!--# foreach($array as $val){ #--> //开始循环内容了
<li>{@get_date($val[postdate])@} <a href=”$val[url]”>$val[title]</a> <br>
{@miniImg($val[photo],100,100)@}
</li>
<!--# }#--> //循环结束了
</ul>

