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.
{:W('ShowComment')}
通常Widget都有自己的调用参数来决定不同的输出内容
XML/HTML代码
{:W('ShowComment',array('count'=>5))}
参数必须使用索引数组传入。在控制器里面也可以调用Widget类进行输出,在Action里面获取动态的Widget内容,可以使用下面的方式:
XML/HTML代码
$content = W('ShowComment', array('count'=>5),true);
第三个参数表示是否返回字符串,如果是false就表示直接输出。返回值可以用于其他用途。