ThinkPHP中Widget的两种写法及调用
2015-12-07 15:46
609 查看
Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用
写法一:
ArticlWidget.class.php文件:
模板文件articleList.html在Lib/Widget/Article目录下
写法二:
模板文件articleList.html,内容同写法一,但放在Tpl/风格名/Widget/目录下
如果模板文件放在ArticleWiget.class.php文件所在目录的Article文件夹下,则写法如下:
写法一:
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}" 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');
相关文章推荐
- theano —— shared, function(outputs, updates, givens)
- PHP Yii 命令行程序以及定时任务详解
- PHP设计模式
- PHP中json中文乱码问题解决
- PHP保存数组到文件中的方法
- getAttribute和getParameter区别
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- PHP7正式版测试,性能惊艳!
- PHP读取大文件
- PHP7正式版测试,性能惊艳!
- PHP开发移动客户端接口---获取表中记录总数
- PHP基础--页面传值,输入验证
- web显示dwg
- 在PHP脚本中操作MYSQL数据库
- 分享五个PHP7性能优化提升技巧
- 安装帝国CMS遇到“修改php.ini,将:short_open_tag 设为 On”的解决方法+“建立目录不成功!请检查目录权限”问题
- php服务端学习感想
- thinkphp中的自动验证
- Php 中用phpmailer发送邮件
- php正则与数据采集