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

 

相關文章
相關標籤/搜索