本篇主要以几个例子来详细说明下uchome的模板文件结构及语法说明。
必须先来了解一下uchome的模板文件解析过程,我们以“随便看看”里的“博客”为例:
它的url地址是http://home.xxx.com/network.php?ac=blog,
那么我们先打开/network.php看一下,我们看到第25行有一段
//允许的方法$acs = array(’space’,‘doing’,‘blog’,‘album’,‘mtag’,‘thread’,’share’);$ac = (empty($_GET['ac']) || !in_array($_GET['ac'],$acs))?’index’:$_GET['ac'];
这里是保证不会出现其他不存在的模块。看到里面有个’blog’了吧。
然后又看到第37行里面有一段
//数据处理include_once(S_ROOT.”./source/network_{$ac}.php”);
这个实际上引用了/source/network_blog.php文件,而network_blog.php里面进行相关的博客数据准备及其他操作,为下一步的解析模板做准备
最后第49行有
//模板调用
include_once template(”network_$ac”);
即用template函数解析对应的静态htm模板页面再进行调用,template函数就不详细说了,主要是定位到模板文件夹下的指定模板页面(例如这里就是/template/default/network_blog.htm),然后用正则表达式替换模板文件中的变量和模板语法语句,填充上一步得到的博客数据,然后输出到屏幕
之所以使用模板页面,而不直接在php里面写htm代码输出,是为了使程序代码和模板页面分离,便于设计师和程序员的工作互不影响。
好了废话了很多,先看一下uchome的基本模板语法
就以/template/default/network_blog.htm为例,它的内容是(绿色的和褐色底色的就是嵌入到模板页面里面的语法代码了)