一、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
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