ThinkPHP循环标签的使用

这篇文章的环境与《ThinkPHP框架试用》一文大致相同,区别在于我更改了入口文件,将项目文件单独放在一个文件夹下,方便管理!更改后的入口文件大致如下:
<?php
define('THINK_PATH', 'ThinkPHP/');
define('APP_NAME', 'myApp');
define('APP_PATH', 'myapp');
require(THINK_PATH."/ThinkPHP.php");
$App = new App();
$App->run();
?>

就改动了一句。试过了ThinkPHP的模板功能了,可是只用到了普通的模板替换,ThinkPHP可是支持循环标签模板的,看了看附带的例子,弄明白了它的使用方法!模板文件代码如下(index.html):

<html>
<head><title>{$title}</title></head>
<body>
{$content}
<br>
<ul>
<volist name="list" id="news">
<li>{$news.title}</li>
</volist>
</ul>
</body>
</html>

看到了吧!volist里面就是嵌套的循环模板,注意观察它的属性id,并留意name属性,再来看看代码文件

<?php 
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action{
    
public function index(){
        
header("Content-Type:text/html; charset=utf-8");
        
$this->assign('title','循环标签的例子');
        
$this->assign('content','循环标签');
        
//这里没有连接数据库,我用数组建立了部分测试数据,用两种方式添加数据
        $news=array(array('title'=>'Title1'),array('title'=>'Title2'));
        
array_push($news,array('title'=>'Title3'));
        
//注意到这里的list就是模板中volist的name 
        $this->assign('list',$news);
        
$this->display();
    }
}

建立了一个二维数组做测试数据,替换后的结果如下:

<html> 
<head><title>循环标签的例子</title></head> 
<body> 
循环标签
<br> 
<ul> 
<li>Title1</li><li>Title2</li><li>Title3</li></ul> 
</body> 
</html>
使用起来相当的简单!
posted @ 2008-11-24 09:45  shaoyun  阅读(712)  评论(0编辑  收藏  举报