数字化技能提升教程,数字化时代生存宝典

数字化百科 / 词条 / ThinkPHP-扩展指南-Widget扩展

ThinkPHP-扩展指南-Widget扩展

查看全部词条命名空间:Main

导航:返回上一页

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就表示直接输出。返回值可以用于其他用途。

category:ThinkPHP