当前位置:K88软件开发文章中心网站服务器框架ThinkPHP → 文章内容

Widget扩展

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 15:35:02

由 AdairSweet 创建, 最后一次修改 2016-02-24 Widget扩展一般用于页面组件的扩展。举个例子,我们在页面中实现一个分类显示的Widget,首先我们要定义一个Widget控制器层 CateWidget,如下:namespace Home\Widget;use Think\Controller;class CateWidget extends Controller { public function menu(){ echo 'menuWidget'; }}然后,我们在模版中通过W方法调用这个Widget。{:W('Cate/Menu')} 执行后的输出结果是: menuWidget传入参数如果需要在调用Widget的时候 使用参数,可以这样定义:namespace Home\Widget;use Think\Controller;class CateWidget extends Controller { public function menu($id,$name){ echo $id.':'.$name; }}模版中的参数调用,使用:{:W('Cate/Menu',array(5,'thinkphp'))} 传入的参数是一个数组,顺序对应了menu方法定义的参数顺序。则会输出5:thinkphp模板支持Widget可以支持使用独立的模板,例如:namespace Home\Widget;use Think\Controller;class CateWidget extends Controller { public function menu(){ $menu = M('Cate')->getField('id,title'); $this->assign('menu',$menu); $this->display('Cate:menu'); }}CateWiget类渲染了一个模版文件 View/Cate/menu.html。 在menu.html模版文件中的用法:<foreach name="menu" item="title">{$key}:{$title}</foreach>

Widget扩展