您好,登錄后才能下訂單哦!
本篇內容介紹了“如何實現Thinkphp 框架擴展之Widget擴展”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Widget擴展一般用于頁面組件的擴展。
舉個例子,我們在頁面中實現一個分類顯示的Widget,首先我們要定義一個Widget控制器層 CateWidget,如下:
namespace Home\Widget; use Think\Controller; class CateWidget extends Controller { public function menu(){ echo 'menuWidget'; } }
然后,我們在模版中通過W方法調用這個Widget。
{:W('Cate/Menu')}
執行后的輸出結果是:
menuWidget
如果需要在調用Widget的時候 使用參數,可以這樣定義:
namespace Home\Widget; use Think\Controller; class CateWidget extends Controller { public function menu($id,$name){ echo $id.':'.$name; } }
模版中的參數調用,使用:
{:W('Cate/Menu',array(5,'thinkphp'))}
傳入的參數是一個數組,順序對應了menu方法定義的參數順序。
則會輸出
5:thinkphp
Widget可以支持使用獨立的模板,例如:
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類渲染了一個模版文件 View/Cate/menu.html。 在menu.html模版文件中的用法:
<foreach name="menu" item="title"> {$key}:{$title} </foreach>
“如何實現Thinkphp 框架擴展之Widget擴展”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。