
2014-06-26 &n± ↓bsp;| 發布者:梁國(guó)芳&nbs→÷p; | 查©≤看(kàn):3320次
ThinkphpWidget擴展一(yī)般用(yòng)于頁面組件★φ®(jiàn)的(de)擴展。
舉個(gè)例子(zǐ),我們在頁面中實現(xiàn)一(yī)個(gè≥¶ )分(fēn)類顯示的(de)Widget,首先我們要(y↕'ào)定義一(yī)個(gè)Widget控制(zhì)器(qì)層 Cat₹₹≈<eWidget,如(rú)下(xià):
namespace Home\Widget;use Think\Controller;class CateWidget extends Controller {public function menu(){return 'menuWidget';}}
然後,我們在模版中通(tōng)過W方法調用(yòng)<♠₹這(zhè)個(gè)Widget。
{:W('Cate/Menu')}
執行(xíng)後的(de)輸出結果是(shì): me ≠↔nuWidget
如(rú)果,CateWidget類的(de)m≈≠enu方法改成:
namespace Home\Widget;use Think\Controller;class CateWidget extends Controller {public function menu(){echo 'menuWidget';}}
模版中的(de)用(yòng)法則需要(yào)改成:
{~W('Cate/Menu')}
如(rú)果需要(yào)在調用(yòng)Widget的←®(de)時(shí)候 使用(yòng)參數(sh≠♦↕ ù),可(kě)以這(zhè)樣定義:
namespace Home\Widget;use Think\Controller;class CateWidget extends Controller {public function menu($id,$name){echo $id.':'.$name;}}
模版中的(de)參數(shù)調用(yòng)≈÷,使用(yòng):
{:W('Cate/Menu',array(5,'thinkphp'))}
傳入的(de)參數(shù)是(shì)一(yī)個(g↑è)數(shù)組,順序對(duì)應了(le)menu→'"↕方法定義的(de)參數(shù)順序。
則會(huì)輸出
5:thinkphp
Widget可(kě)以支持使用(yòng)獨立的(de)模闆,例如(rú):<γε
namespace Home\Widget;use Think\Controller;class CateWidget extends Controller {public function menu(){$menu = M('Cate')->getField('id,title');$this->assign('menu',$menu);$this->display('Cate:menu');}}
CateWiget類渲染了(le)一(yī☆Ω&)個(gè)模版文(wén)件(jiàn) View/Cate/menu.html。 在menu.html模版文(wén)件(jiàn)中的(de↓™€)用(yòng)法:
<foreach name="menu" item="title">{$key}:{$title}</foreach>
