thinkphp widget的用法

看了下官网关于widget的介绍,基本完整但是示例不够好~~

本着好好学习,天天向上,边学习边记录..的精神,有必要再写一个例子出来。

什么是widget?

官方:Widget扩展用于在页面根据需要输出不同的内容。

我:经常要调用的数据可以把他写在widget,比评论,比如文章列表,比如新闻列表,比如商品列表,比如文章分类、商品分类。。。。甚至我觉得版权、经常要包含的顶部、底部也可以写成widget~~

瞧腾讯网的这东东,貌似放了十几个这样的,我们用widget做一个调用新闻列表,传个分类参数就搞定。当然,人家老马考虑了很多东西的,我们暂不考虑微笑



废话说多了。

以下基于TP3.1的

数据表:

CREATE TABLE IF NOT EXISTS `yo_goods` (
  `goods_id` int(11) NOT NULL AUTO_INCREMENT,
  `category` int(11) NOT NULL COMMENT '分类id',
  `sort` int(11) NOT NULL DEFAULT '50' COMMENT '排序',
  `store_id` int(11) NOT NULL DEFAULT '1',
  `goods_name` varchar(255) NOT NULL,
  `price` float NOT NULL,
  `desc` varchar(250) NOT NULL COMMENT '描述',
  `payment` varchar(20) DEFAULT NULL COMMENT '支付方式',
  `status` tinyint(4) DEFAULT NULL COMMENT '0:等待买家付款,1支付成功,2支付失败,3取消',
  `img` varchar(100) NOT NULL DEFAULT 'no_goods.png' COMMENT '图片路径',
  `addTime` int(11) NOT NULL,
  `last_update` int(11) NOT NULL,
  PRIMARY KEY (`goods_id`),
  UNIQUE KEY `goods_id` (`goods_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO `yo_goods` (`goods_id`, `category`, `sort`, `store_id`, `goods_name`, `price`, `desc`, `payment`, `status`, `img`, `addTime`, `last_update`) VALUES
(1, 1, 1, 1, 'test1', 0.01, '特色描述', NULL, NULL, '1.jpg', 0, 0),
(2, 2, 50, 1, 'test2', 0.01, 'test描述', NULL, NULL, 'no_goods.png', 0, 0),
(3, 1, 2, 1, 'test2', 0.01, 'test描述', NULL, NULL, 'no_goods.png', 0, 0);

-----

然后,在lib/widget下创建一个文件ListShowGoodsWidget.class.php

形成这样的目录lib/widget/ListShowGoodsWidget.class.php

代码;

<?php
//商品列表
class ListShowGoodsWidget extends Widget{  
    public function render($data){ 
    $Goods   =   M('Goods');
    $conditions .=isset($data['goods_category'])?' category='.$data['goods_category']:'';//通过指定分类,可以调用不同分类的商品
    echo $conditions;
   
    $data['goods_list'] = $Goods-> where($conditions)->order('sort')->limit(10)->select();
        $content = $this->renderFile('ListShowGoods',$data);
        return $content;  
    } 
 }

-----

创建一个在widget下创建ListShowGoods文件夹和ListShowGoods.html文件

形成lib/widget/ListShowGoods/ListShowGoods.html

ListShowGoods.html代码(没做美工,不好依稀啊):

商品列表:<br/>
<volist name="goods_list" id="list">
    <li>{$list['goods_id']}</li>
    <li>{$list['category']}</li>
   <li>{$list['sort']}</li>
   <li>{$list['store_id']}</li>
     <li>{$list['goods_name']}</li>
    <li>{$list['price']}</li>
    <li>{$list['desc']}</li>
      <li>{$list['img']}</li>
 </volist>

搞定niao~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值