ThinkPHP中Widget擴(kuò)展的兩種寫法及調(diào)用方法詳解
本文實(shí)例講述了ThinkPHP中Widget擴(kuò)展的兩種寫法及調(diào)用方法。分享給大家供大家參考,具體如下:
Widget擴(kuò)展一般用于頁面組件的擴(kuò)展,在頁面根據(jù)需要輸出不同的內(nèi)容,下面介紹一下ThinkPHP中Widget的兩種寫法及調(diào)用
寫法一:
ArticlWidget.class.php文件:
class ArticleWidget extends Widget { /** * * @param array $data * @return type * 調(diào)用方法:{:W('ArticleList',array('cid'=>25,'limit'=>5))} * cid為分類id,limit為調(diào)用數(shù)量 */ public function render($data) { $Article = M('Article'); $articleMap["cid"] = $data["cid"]; $data["articleList"] = $Article->where($articleMap)->order('id desc')->limit($data["limit"])->select(); foreach ($articleList as $key => $value) { if ($value["thumbnail"] == "") { $data["articleList"][$key]["thumbnail"] = '/Public/Img/Common/noThumbnail.jpg'; } } return $this->renderFile('articleList', $data); } }
模板文件articleList.html在Lib/Widget/Article目錄下
<volist name="articleList" id="articleList_vo"> <li> <a href="__APP__/Channel/articleDetail/code/article/id/{$articleList_vo.id}" rel="external nofollow" title="{$articleList_vo.title}">{$articleList_vo.title}</a> </li> </volist>
寫法二:
class ArticleWidget extends Action { /** * * @param array $data * @return type * 調(diào)用方法:{:R('Article/articleList',array('cid'=>25,'limit'=>5),'Widget')} * cid為分類id,limit為調(diào)用數(shù)量 */ public function articleList($cid, $limit) { $Article = M('Article'); $articleMap["cid"] = $cid; $data = $Article->where($articleMap)->order('id desc')->limit($limit)->select(); foreach ($data as $key => $value) { if ($value["thumbnail"] == "") { $data[$key]["thumbnail"] = '/Public/Img/Common/noThumbnail.jpg'; } } $this->assign('articleList', $data); $this->display('Widget:articleList'); } }
模板文件articleList.html,內(nèi)容同寫法一,但放在Tpl/風(fēng)格名/Widget/目錄下
如果模板文件放在ArticleWiget.class.php文件所在目錄的Article文件夾下,則寫法如下:
$this->display(dirname(__FILE__) . '/Article/articleList.html');
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
- ThinkPHP的Widget擴(kuò)展實(shí)例
- thinkPHP下的widget擴(kuò)展用法實(shí)例分析
- ThinkPHP3.1的Widget新用法
- thinkPHP5框架中widget的功能與用法詳解
- Thinkphp 框架擴(kuò)展之行為擴(kuò)展原理與實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動原理與用法分析
- Thinkphp 框架擴(kuò)展之?dāng)?shù)據(jù)庫驅(qū)動常用方法小結(jié)
- Thinkphp 框架擴(kuò)展之類庫擴(kuò)展操作詳解
- Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法分析
相關(guān)文章
學(xué)習(xí)PHP Cookie處理函數(shù)
這篇文章主要為大家詳細(xì)介紹了PHP Cookie處理函數(shù)的使用方法,感興趣的小伙伴們可以參考一下2016-08-08簡單示例AJAX結(jié)合PHP代碼實(shí)現(xiàn)登錄效果代碼
比較簡單的通過ajax+php實(shí)現(xiàn)登陸功能,這是個簡單的例子,固定字符,實(shí)際應(yīng)用中可以從數(shù)據(jù)庫中讀取2008-07-07Zend Framework動作助手(Zend_Controller_Action_Helper)用法詳解
這篇文章主要介紹了Zend Framework動作助手(Zend_Controller_Action_Helper)用法,詳細(xì)分析了動作助手Zend_Controller_Action_Helper功能,定義,使用方法與相關(guān)實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03laravel 出現(xiàn)command not found問題的解決方案
今天小編就為大家分享一篇laravel 出現(xiàn)command not found問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10