博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP中Widget的两种写法及调用
阅读量:7140 次
发布时间:2019-06-28

本文共 1791 字,大约阅读时间需要 5 分钟。

Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用

写法一:

ArticlWidget.class.php文件:

class ArticleWidget extends Widget {    /**     *      * @param array $data     * @return type     * 调用方法:{:W('ArticleList',array('cid'=>25,'limit'=>5))}     * cid为分类id,limit为调用数量     */    public function render($data) {        $Article = M('Article');        $articleMap["cid"] = $data["cid"];        $data["articleList"] = $Article->where($articleMap)->order('id desc')->limit($data["limit"])->select();        foreach ($articleList as $key => $value) {            if ($value["thumbnail"] == "") {                $data["articleList"][$key]["thumbnail"] = '/Public/Img/Common/noThumbnail.jpg';            }        }        return $this->renderFile('articleList', $data);    }}

模板文件articleList.html在Lib/Widget/Article目录下

写法二:

class ArticleWidget extends Action {    /**     *      * @param array $data     * @return type     * 调用方法:{:R('Article/articleList',array('cid'=>25,'limit'=>5),'Widget')}     * cid为分类id,limit为调用数量     */    public function articleList($cid, $limit) {        $Article = M('Article');        $articleMap["cid"] = $cid;        $data = $Article->where($articleMap)->order('id desc')->limit($limit)->select();        foreach ($data as $key => $value) {            if ($value["thumbnail"] == "") {                $data[$key]["thumbnail"] = '/Public/Img/Common/noThumbnail.jpg';            }        }        $this->assign('articleList', $data);        $this->display('Widget:articleList');    }}

模板文件articleList.html,内容同写法一,但放在Tpl/风格名/Widget/目录下

如果模板文件放在ArticleWiget.class.php文件所在目录的Article文件夹下,则写法如下:

$this->display(dirname(__FILE__) . '/Article/articleList.html');

 

转载于:https://www.cnblogs.com/yhdsir/p/5026297.html

你可能感兴趣的文章
hdu 4287 Intelligent IME
查看>>
NYOJ15-括号匹配(二)-区间DP
查看>>
JDBC基本应用
查看>>
header中Content-Disposition的作用
查看>>
SSAS知识回放之订单数据分析
查看>>
Apache+jboss群集部署
查看>>
JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)...
查看>>
《从零開始学Swift》学习笔记(Day 46)——下标重写
查看>>
一个屌丝程序猿的人生(六十九)
查看>>
【block第四篇】实现
查看>>
mysql学习笔记之mysql数据库的安装
查看>>
hdu 5371 Hotaru's problem【manacher】
查看>>
MySQL 5.6的一个bug引发的故障
查看>>
(转) Eclipse通过HibernateTools实现逆向生成Hibernate实体类
查看>>
编写轻量ajax组件02-AjaxPro浅析
查看>>
搭建Git本地服务器
查看>>
windows下redis 和 hiredis的编译与使用
查看>>
spring cloud 中Actuator不显示更多信息的处理方式
查看>>
[MST] Test mobx-state-tree Models by Recording Snapshots or Patches
查看>>
你必须知道的session与cookie
查看>>