ThinkPHP widge使用示例

一、widge通常用于公用模块的设计与使用,以便增强软件模块的复用性与重用性php

通常使用include方法设计公共模块,好比<include file="home:header" />,可是此方法有一个缺陷,没法利用$this->a=a; + header.html中模板{$a}传递参数html

只能使用{$Think.session.var}获取session

如下方法失效this

    public function header() {
        //$this->sysmailNum = 2;
        //dump(123);
        
        $this->display();
    }

二、下面介绍如何利用widge通用组件传递参数spa

  • 在项目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, 在你想显示这个组件的地方加上:     code

{:W('Welcome',array('cid'=>1))} htm

5.结果blog

 

相关文章
相关标签/搜索