1、widge一般用于公用模块的设计与使用,以便加强软件模块的复用性与重用性
一般使用include方法设计公共模块,比如<include file="home:header"
/>,但是此方法有一个缺陷,无法利用$this->a=a; + header.html中模板{$a}传递参数
只能使用{$Think.session.var}获取
以下方法失效
public function header() {
//$this->sysmailNum = 2;
//dump(123);$this->display();
}
2、下面介绍如何利用widge通用组件传递参数
- 在项目Lib/Widget下新建WelcomeWidget.class.php,内容如下
class WelcomeWidget extends Widget
{
public function render($data)
{
//$data[‘content‘] = ‘Hello everyone,this is widget!‘;
//模板不存在[Tool/Lib/Widget/Welcome/index.html]
$content = $this->renderFile ("index",$data);
return $content;
}
}
2.在Lib/Widget目录中新建‘Welcome/index.html‘, 假设内容如下:
<div class="span6">
<img src="__PUBLIC__/img/leads.jpg" class="pull-left">
<div class="span">{$content}</div>
</div>
3.在其他模板中调用这个widget, 在你想显示这个组件的地方加上:
{:W(‘Welcome‘,array(‘cid‘=>1))}
5.结果
ThinkPHP widge使用示例,布布扣,bubuko.com
时间: 2024-10-29 10:47:48