在ThinkPHP中Widget工具的使用很简单,调用起来也非常方便。我们就以调用热点文章为例说一下Widget的使用。因为wblog博客程序是普通分组的,所以下面我就在ThinkPHP普通分组下使用Widget工具。
下载wblog3.1.3版本
因为wblog一安装,什么数据库啊,数据表啊都有了,不用再麻烦去创建。
创建Widget相关目录和文件
按照下面的目录结构去创建相关的Widget目录和文件。
├─w3note普通分组项目目录
│ ├─Common
│ ├─Conf
│ ├─Lang
├─├─Lib
│ │ ├─Action
│ │ ├─Behavior
│ │ ├─Model
│ │ ├─Widget
│ ├─Tpl ├─HotWidget.class.php
│ │ ├─Hot
│ │ ├─Hot.html
HotWidget.class.php文件的代码
<?php // 首页 class HotWidget extends Widget { public function render($data) { $data['hot']=M('News')->field('id,title,hits')->order('hits desc')->limit (8)->select(); return $this->renderFile('',$data); } } ?>
Hot.html文件的代码
<volist name="hot" id="h"> <li> <a title="{$h['title']}" href="{:U('/read/'.$h['id'])}">{$h['title'] |msubstr=0,30,'utf-8'}</a></li> </volist>
调用Widget工具
Widget工具的调用比较灵活,可以放在首页,列表页,内容页。下面我就把它放在内容页,打开W3note\Tpl\Read\read.html文件,使用{:W('Hot')}来调用我们上面创建的Widget工具。代码如下
<div class="l_tit">热点文章</div> <div class="rand"> <ul> {:W('Hot')} </ul> </div>
最终效果图
小结:一般情况下,我们调用热点文章,需要在控制器创建一条语句,然后在模板上写循环语句。但如果在多个页面上调用,这种方法显得比较繁琐,而使用Widget工具恰好能轻松的解决这一问题。