PHPLIB Template入门系列 - 3 块的应用[2]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 ccterran 的 blog

$i=0;
while (
$row = $idb->fetch_array($result
))
{
$i
++;
$tpl->set_var("username" . $i, $row["username"
]);
$tpl->set_var("score" . $i, $row["score"
]);
}

//完成替换
$tpl->parse("mains", "main"
);

//输出
$tpl->pparse("mains", "main"
);

?>

这样你也能得到正确结果.在特殊情况下你或许需要这样做.但template提供了一个更方便的"大的模板变量",那就是块.我之所以称之为"大的模板变量",是因为它也可以视为可以包含其他模板变量的变量.形式如
<ul>
<!-- begin list -->
<li>{username} 的成绩是 {score}
<!-- end list -->
</ul>

即用<!-- begin 块名称 --><!-- end 块名称 -->定义了一个名为list的块,(注意:我在这里为了方便理解,只称之为块名称).这个块里面又包含一些html代码(<li>等等)以及模板变量({username},{score}).

在讲述如何用块输出列表之前,我们先谈一下块的定义格式.

首先<!-- begin list --><!-- end list --> 都要各自为一行,亦即下面的块的定义是错误的
1,
同行的 <!-- begin list -->
<li>{username} 的成绩是 {score}
<!-- end list -->

2,
<!-- begin list -->
<li>{username} 的成绩是 {score}
<!-- end list --> 同行的

<!--和-->都是固定的,也就是说只能是两个中划线("-"),且它们与begin list之间都至少有一个空(空格或tab),看下面的例子
<!--begin list -->
<!-- begin list-->

它们都是错误的块的定义方法,因为第一个<!--与begin之间至少应该有一个空,第二个-->与list之间至少有一个空.

begin/end和list之间也应该有一个空格,注意是有且仅有一个空格,不能多也不能少.

块的名称建议你只使用字符,数字,下划线以及它们的组合.

begin和end两个词语都应该是大写的。

好了,下面开始探讨如何是这个块变成一个列表.我们可以这样
<?php
//包含进模板类 template.inc
require "inc/template.inc"
;

//创建一个实例
$tpl = new template("template"
);

//将整个文件读进来
$tpl->set_file("main", "second.html"
);

本文关键:PHPLIB Template入门系列 - 3 块的应用
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top