ThinkPHP-扩展指南-Widget扩展

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

Widget扩展用于在页面根据需要输出不同的内容,Widget扩展的定义是在项目的Lib\Widget目录下面定义Widget类库,例如下面定义了一个用于显示最近的评论的Widget:位于Lib\Widget\ShowCommentWidget.class.php

Widget类库需要继承Widget类,并且必须定义render方法实现.

例如PHP代码

class ShowCommentWidget extends Widget{     

    public function render($data){     

        return '这是最新的评论信息';    

    }     

}   
  • render方法必须使用return返回要输出的字符串信息,而不是直接输出。
  • Widget也可以调用Widget类的renderFile方法,渲染模板后进行输出,。

PHP代码

class ShowCommentWidget extends Widget{     

    public function render($data){     

$content    =   $this->renderFile('Article:comment',$data);    

  return $content;    

    }     

}   

定义好Widget类库后,只需要做的是在模板文件里面使用W方法调用Widget.

例如:XML/HTML代码

{:W('ShowComment')}   

通常Widget都有自己的调用参数来决定不同的输出内容

XML/HTML代码

{:W('ShowComment',array('count'=>5))}   

参数必须使用索引数组传入。在控制器里面也可以调用Widget类进行输出,在Action里面获取动态的Widget内容,可以使用下面的方式:

XML/HTML代码

$content    =   W('ShowComment', array('count'=>5),true);   

第三个参数表示是否返回字符串,如果是false就表示直接输出。返回值可以用于其他用途。