本文实例讲述了ThinkPHP中Widget扩展的两种写法及调用方法。分享给大家供大家参考,具体如下:

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目录下
<volist name="articleList" id="articleList_vo">
<li>
<a href="__APP__/Channel/articleDetail/code/article/id/{$articleList_vo.id}" rel="external nofollow" title="{$articleList_vo.title}">{$articleList_vo.title}</a>
</li>
</volist>
写法二:
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');
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
# ThinkPHP
# Widget扩展
# 写法
# 调用方法
# ThinkPHP的Widget扩展实例
# thinkPHP下的widget扩展用法实例分析
# ThinkPHP3.1的Widget新用法
# thinkPHP5框架中widget的功能与用法详解
# Thinkphp 框架扩展之行为扩展原理与实现方法分析
# Thinkphp 框架扩展之标签库驱动原理与用法分析
# Thinkphp 框架扩展之数据库驱动常用方法小结
# Thinkphp 框架扩展之类库扩展操作详解
# Thinkphp 框架扩展之Widget扩展实现方法分析
# 放在
# 两种
# 进阶
# 相关内容
# 目录下
# 感兴趣
# 给大家
# 介绍一下
# 更多关于
# 所述
# 程序设计
# 操作技巧
# 讲述了
# cid
# ArticleList
# gt
# type
# array
# param
# return
相关文章:
山东网站制作公司有哪些,山东大源集团官网?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
如何在阿里云部署织梦网站?
Android自定义控件实现温度旋转按钮效果
如何通过VPS建站无需域名直接访问?
微信推文制作网站有哪些,怎么做微信推文,急?
建站之星×万网:智能建站系统+自助建站平台一键生成
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
如何在IIS管理器中快速创建并配置网站?
如何快速完成中国万网建站详细流程?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何在Windows环境下新建FTP站点并设置权限?
网站制作免费,什么网站能看正片电影?
建站10G流量真的够用吗?如何应对访问高峰?
如何在云虚拟主机上快速搭建个人网站?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
学校为何禁止电信移动建设网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何配置FTP站点权限与安全设置?
如何在Golang中使用replace替换模块_指定本地或远程路径
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
已有域名和空间如何快速搭建网站?
建站主机选虚拟主机还是云服务器更好?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
如何在云指建站中生成FTP站点?
建站为何优先选择香港服务器?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
制作农业网站的软件,比较好的农业网站推荐一下?
建站之星官网登录失败?如何快速解决?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何正确下载安装西数主机建站助手?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何快速查询域名建站关键信息?
如何在IIS7上新建站点并设置安全权限?
宁波自助建站系统如何快速打造专业企业网站?
小程序网站制作需要准备什么资料,如何制作小程序?
建站之星上传入口如何快速找到?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
想学网站制作怎么学,建立一个网站要花费多少?
如何在阿里云服务器自主搭建网站?
如何在IIS服务器上快速部署高效网站?
网站设计制作企业有哪些,抖音官网主页怎么设置?
Thinkphp 中 distinct 的用法解析
完全自定义免费建站平台:主题模板在线生成一站式服务
*请认真填写需求信息,我们会在24小时内与您取得联系。