Bootstrap实战开发教程第十六讲 实战社区网站Widget组件开发.ppt北风网项目实战培训
widget 分页类和自定义提示模板
讲师:鲁国行人甲(北风网版权所有)
基于BootStrap+jQuery+ThinkPHP+MongoDB社区网站教程
课程简介
掌握ThinkPHP Widget开发规范
掌握分页类扩展的使用
ess和Error跳转模板
ThinkPHP Widget简介
Widget扩展用于在页面根据需要输出不同的内容,Widget扩展的定义是在项目的Lib/Widget目录下面定义Widget类库,例如下面定义了一个用于显示最近的评论的Widget,位于Lib/Widget/。
Widget实际上就是一段可以重复调用的Html代码块,使用ThinkPHP W()函数可以随时随地的直接调用。目的是为了解决很多需要重复展示的功能模块的一种开发展现方式。例如,网站很多地方都需要展示相同的用户信息,就可以把这块重复的内容制作成一个Widget。最终实现一次编写,到处使用的效果。
ThinkPHP Widget 使用
Widget类库需要继承Widget类,并且必须定义render方
法实现,例如:
class mentWidget extends Widget{
public function render($data){
return '这是最新的评论信息';
}
}
render方法必须使用return返回要输出的字符串信息,而不是
直接输出。
ThinkPHP Widget 使用
Widget也可以调用Widget类的renderFile方法,渲染模
板后进行输出。
class mentWidget extends Widget{
public function render($data){
$content = $this->renderFile('comment',$data);
return $content;
}
}
ThinkPHP Widget 使用
定义好Widget类库后,只需要做的是在模板文件里面
使用W方法调用Widget,例如:
{:W('ment')}
通常Widget都有自己的调用参数来决定不同的输出内
容
{:W('ment',array('count'=>5))}
参数必须使用索引数组传入。
ThinkPHP Widget 使用
Widget的模板文件单独存放,放置到当前项目的Lib/Widget/ment/目
录下面,取决于rendFile方法如何调用,默认情况下,是调用和widget同名的
模板文件,mentWidget,其中代码如下:
$this->renderFile();
则调用的widget模板位于 Lib/Widget/ment/,
如果调用
$this->renderFile('comment');
调用的widget模板则位于 Lib/Widget/,
如果需要调用子目录下面的模板,则采用
$this->renderFile('ment');
调用的widget模板则位于 Lib/Widget/ment/。
ThinkPHP Widget 实例
用户信息widget
:根据用户登录的状态显示不同的效果。
热门话题排行widget
:根据话题topic的具体访问量进行排行显示的widget
制作一个显示Ad 广告的widget
这个widget就是显示一组可以点击的图片进入到广告的第三方的网站地址
ThinkPHP 分页
public function select(){
$Dao = M("User");
// 计算总数
$count = $Dao->count();
// 导入分页类
import("");
// 实例化分页类
$p = new Page($count, 10);
// 分页显示输出
$page = $p->show();
// 当前页数据查询
$list = $Dao->order('uid ASC')->limit($p->firstRow.','.$p->listRows)->select();
// 赋值赋值
$this->assign('page', $page);
$this->assign('list', $list);
$this->display();
}
Bootstrap视频教程:
ds-
Bootstrap实战开发教程第十六讲 实战社区网站Widget组件开发 来自淘豆网m.daumloan.com转载请标明出处.