ThinkPHP3.2中Widget实例的使用

Widget类的实现可以作为分层控制器的另外一个典型实例。

举个例子,我们在页面中实现一个分类菜单的Widget,首先我们要定义一个Widget控制器层 MenuWidget,如下:

namespace Home\Widget;
class MenuWidget extends Think\Controller {
    public function index(){
        echo 'menuWidget';
    }
 }

类文件位于 Home/Widget/MenuWidget.class.php。
然后,我们在需要显示分类菜单的模版中通过W方法调用这个Widget。

{~W('Menu/index')} 
执行后的输出结果是: menuWidget

如果需要在调用Widget的时候传入参数,可以这样定义:

namespace Home\Widget;
class MenuWidget extends Think\Controller {
    public function index($id,$name){
        echo $id.':'.$name;
    }
 }
在需要显示分类菜单的模版中添加如下的Widget调用代码如下:

{~W('Menu/index',array(5,'thinkphp'))} 

则会输出 5:thinkphp

来一个复杂一点的例子:

namespace Home\Widget;
class MenuWidget extends Think\Controller {
    public function index(){
        $menu = M('Cate')->getField('id,title');
        $this->assign('menu',$menu);
        $this->display('Widget/menu');
    }
 }
CateWiget类渲染了一个模版文件  Home/View/Widget/menu.html
在menu.html模版文件中的用法:

<foreach name="menu" item="title">
{$key}:{$title}
</foreach>








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值