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é)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP的Widget擴(kuò)展實(shí)例
- thinkPHP下的widget擴(kuò)展用法實(shí)例分析
- ThinkPHP3.1的Widget新用法
- thinkPHP5框架中widget的功能與用法詳解
- Thinkphp 框架擴(kuò)展之行為擴(kuò)展原理與實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動(dòng)原理與用法分析
- Thinkphp 框架擴(kuò)展之?dāng)?shù)據(jù)庫驅(qū)動(dòng)常用方法小結(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)登陸功能,這是個(gè)簡單的例子,固定字符,實(shí)際應(yīng)用中可以從數(shù)據(jù)庫中讀取2008-07-07
Zend Framework動(dòng)作助手(Zend_Controller_Action_Helper)用法詳解
這篇文章主要介紹了Zend Framework動(dòng)作助手(Zend_Controller_Action_Helper)用法,詳細(xì)分析了動(dòng)作助手Zend_Controller_Action_Helper功能,定義,使用方法與相關(guān)實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03
分享8個(gè)Laravel模型時(shí)間戳使用技巧小結(jié)
這篇文章主要介紹了分享8個(gè)Laravel模型時(shí)間戳使用技巧小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
laravel 出現(xiàn)command not found問題的解決方案
今天小編就為大家分享一篇laravel 出現(xiàn)command not found問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10

