代码改变世界

ThinkPHP循环标签的使用

2011-05-06 15:35  卫佳  阅读(323)  评论(0编辑  收藏  举报

 这篇文章的环境与《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">/*silk flowers*/

<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','循环标签');// wedding veil

    //这里没有连接数据库,我用数组建立了部分测试数据,用两种方式添加数据

    $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>

  使用起来相当的简单!