ThinkPHP 3.2.3 Widget 扩展的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP 3.2.3 Widget 扩展的使用相关的知识,希望对你有一定的参考价值。

Thinkphp3.2.3 手册中 Widget 扩展的地址是: http://www.kancloud.cn/manual/thinkphp/1862

Widget 扩展一般用于页面组件的扩展,和自定义标签具有相同的功能。

例如:在项目首页(位于 Home 应用 ./Application/Home)的某个栏目如【最热新闻】,可以通过 Widget 扩展进行数据调用.

首先在 ./Application/Home 下创建 Widget 目录,在该目录中创建 HotWidget.class.php:

./Application/Home/Widget/HotWidget.class.php

<?php
namespace Home\Widget;
use Think\Controller;

class HotWidget extends Controller{
    
    public function hotlist($id,$name) { //参数传递(示例)
        //dump($id);
        //dump($name);
        //$this->assign(‘id‘, $id);
        //$this->assign(‘name‘, $name);
        
        //热门博文
        $field = array(‘id‘,‘title‘,‘click‘);
        $this->blog = M(‘blog‘)->field($field)->order(‘click DESC‘)->limit(5)->select();
        return $this->display("Widget:Hot");// 解析 ./Application/Home/View/Widget/hot.html
    }
}

 

 

HotWidget 类渲染的模板文件 ./Application/Home/View/Widget/hot.html:

<dl>
    <dt>最热新闻</dt>
    <foreach name="blog" item="v">
    <dd>
        <a href="{:U(‘/‘.$v[‘id‘])}">{$v.title}</a>
        <span>({$v.click})</span>
    </dd>
    </foreach>
</dl>

 

该模板嵌入首页模板中

./Application/Home/View/Index/index.html

....
<!--热门博文-->
{:W(‘Hot/hotlist‘,array(‘id‘=>100,‘name‘=>‘dee‘))}<!--此处仅示例参数的使用-->
<!--热门博文结束-->
....

 

 

参考:一张图说明3.2的Widget使用方法

 

以上是关于ThinkPHP 3.2.3 Widget 扩展的使用的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 3.2.3简单介绍

ThinkPHP - Widget 工具

ThinkPHP框架学习 --- thinkphp 3.2.3 验证码验证使用教程分享

thinkphp 杂项(3.2.3)

ThinkPHP 3.2.3 视图模型的使用

ThinkPHP 3.2.3 URL 路由的使用