楼层推荐 效果图 1.增加表字段 商品表   分类表 2.修改商品模型和分类模型接收字段is_floor 3.修改商品和分类相关的表单 4.后台制作推荐方法 4.1在分类模型中增加获取前台楼层数据的方法 /****** 获取前台首页楼层中的数据 ***********/ public function floorData() { $floorData = S('floorData'); if($floorData) return $floorData; else { // 先取出推荐到楼层的顶级…
商品推荐 {抢购,新品,精品,热卖}效果如下 1.在商品表增加促销价格与促销起始时间和结束时间三个字段,字段推荐楼层与排序在后面用到  注意:在增加datetime类型字段时,要添加默认值{datetime范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59}:并且关闭MySQL严格模式,因为promote_price(decimal(10,2))无法插入空值:但建议开发阶段开启 2.表单与时间插件 3.修改商品模型允许接收字段 4.前台取出推荐的商品 //…
公共布局包括 1.页头.页脚{layout} 正文:{__COMMENT__} 导入:<layout name="layout"> 2.商品导航{nav.html} ==> include为tp中自带的标签 <include file="nav.html"> 3.帮助信息{help.html} <include file="help.html"> 扩展:模型文件的存放位置,三种方法: 1. 所有的模型都放…
面包屑导航  思路:根据商品的主分类向上取出所有上级分类即可 1.在分类模型中增加取出所有上级分类的方法 /********** [面包屑导航]取出一个分类所有上级分类 **********/ public function parentPath($catId) { static $ret = array(); $info = $this->field('id, cat_name,parent_id')->find($catId); $ret[] = $info; // 递归取上级信息 if(…
添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace Admin\Controller; use Think\Controller; //后台添加商品功能控制器 class GoodsController extends Controller { //显示和处理表单 public function add() { //判断用户是否提交了表单(如果提交了,就…
表与表之间的关系:1:1 1:多 多:多 功能需求决定表关系 此处的表关系为:品牌表:商品表=1:多 1.首先在表结构上关联,在多的表(商品表)添加一个字段,关联一的表(品牌表)的ID(主键) 添加字段:ALTE TABLE p39_goods ADD brand_id mediumint unsigned not null default '0' comment '品牌id'; 注:因为需求[有可能根据品牌搜商品],所以在商品表加上品牌id索引 添加索引: ALTER TABLE p39_go…
Gii安装[GII适用于商城项目] 将Gii文件夹复到application 是,访问http://xx.com/index.php/gii Gii规则[Gii使用规则与建表规则密切相关] 1.建表字段必须有中文名,则Gii在生成代码时才能识别某字段的中文名是什么: 2.某字段验证规则不能为空:设置该建表字段为not null:一般所有字段都为not null,若不希望生成验证规则,则加上默认值default(默认值可为空): 3.生成上传图片代码:字段名中需包含logo|image|pic|f…
权限验证 1.登录控制器 2.通过tp验证码类生成验证码图片 3.在管理员模型增加登录验证规则 4.后台中所有的控制器必须先登录才能访问 思路:在访问任何一个控制器之前都判断一个session即可,=>增加一个父控制器验证Session 让所有后台的控制器[除了Login控制器之外的]都继承自这个控制器 5.在管理员访问后台的任何一个页面之前先到数据库中查看当前管理员所在的角色是否有权限访问这个页面 在权限模型中增加此检查方法,在父类登录控制器中调用 6.后台左侧只显示当前管理员有权限访问的按钮…
库存量管理 思想:为商品的每个多选属性设置库存量!!要把多选属性排列组合分别指定库存量!! 效果如下:[由商品已经添加的属性决定] 1.建表goods_number{goods_id,goods_number,goods_str_id[商品属性id]} drop if exists p39_goods_number; create table p39_goods_number ( goods_id mediumint unsigned not null comment '商品Id', goods…
商品分类删除 1.删除商品时,根据商品id删除扩展分类表数据 商品扩展分类修改 1.在控制器GoodsController.class.php/edit()中根据商品id取出对应的所有扩展分类 2.在修改页面edit.html中显示对应扩展分类foreach,类似添加页面 注:考虑当没有扩展分类时的显示,使用if($gcData) 3.在模型类GoodsModel.class.php/_before_update()中处理扩展分类,先删除原数据,再插入新数据[多对多时,通常的用法] <?php…