• 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 HomeWidget;
    use ThinkController;
    
    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使用方法

  • 相关阅读:
    String_字符串各个场景下的==
    jvm_run-time method area
    jvm类加载_类的流程
    TypeError: Restaurant() takes no arguments
    EMC测试国家标准GB/T 17626
    8-8 用户的专辑
    8-7 专辑
    8-6 城市名
    7-6 三个出口
    TypeError: module() takes at most 2 arguments (3 given)
  • 原文地址:https://www.cnblogs.com/dee0912/p/5208302.html
Copyright © 2020-2023  润新知