• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP中Widget扩展的两种写法及调用方法

php 搞代码 3年前 (2022-01-22) 14次浏览 已收录 0个评论

这篇文章主要介绍了ThinkPHP中Widget扩展的两种写法及调用方法,详细分析了Widget扩展的写法及相应的调用技巧,需要的朋友可以参考下

Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用

写法一:

ArticlWidget.class.php文件:

class ArticleWidget extends Widget {  /**   *   * @param array $data   * @return type   * 调用方法:{:W('ArticleList',array('cid'=>25,'limit'=>5))}   * cid为分类id,limit为调用数量   */  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   * 调用方法:{:R('Article/articleList',array('cid&<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>#39;=>25,'limit'=>5),'Widget')}   * cid为分类id,limit为调用数量   */  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,内容同写法一,但放在Tpl/风格名/Widget/目录下

如果模板文件放在ArticleWiget.class.php文件所在目录的Article文件夹下,则写法如下:

$this->display(dirname(__FILE__) . '/Article/articleList.html');

相关推荐:

PHP预定义变量9大超全局数组用法详解_php基础

PHP 随机数 C扩展随机数

理解php依赖注入和控制反转_php技巧

以上就是ThinkPHP中Widget扩展的两种写法及调用方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP中Widget扩展的两种写法及调用方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址