PHP.49-TP框架商城应用实例-前台1-公共布局、制作首页
公共布局包括
1、页头、页脚{layout}
正文:{__COMMENT__}
导入:<layout name="layout">
2、商品导航{nav.html} ==> include为tp中自带的标签
<include file="nav.html">
3、帮助信息{help.html}
<include file="help.html">
扩展:模型文件的存放位置,三种方法:
1. 所有的模型都放到后台,以后前台也到后台取模型如:
$catModel = D(‘Admin/Category’); // 生成Admin模块下的Category
2. 后台用的放到后台模块,前台用的放到前台模块。
3. 在Common模块下创建公共的模型,把公共的代码放到这个模型中,前后台特有的方法在前后模块再各个单独继承这个公共的模型
制作首页
1、在分类模型CategoryModel.class.php取出导航条上分类树
注:通过tp缓存避免多次读取数据库,影响访问速度
// 获取导航条上的数据
public function getNavData()
{
// 先从缓存中取出数据
$catData = S('catData');
// 判断如果没有缓存,或者缓存过期就重新构造数组
if(!$catData)
{
//取出所有分类
$all = $this->select();
$ret = array();
// 循环所有的分类找出顶级分类
foreach($all as $k => $v)
{
if($v['parent_id'] == 0)
{
// 循环所有分类找出这个顶级分类的子分类
foreach($all as $k1 => $v1)
{
if($v1['parent_id'] == $v['id'])
{
// 循环所有分类找出这个二级分类的子分类
foreach ($all as $k2 => $v2)
{
if($v2['parent_id'] == $v1['id'])
{
$v1['children'][] = $v2;
}
}
$v['children'][] = $v1;
}
}
$ret[] = $v;
}
}
// 把数组缓存1天(30秒)
S('catData', $ret, 0);
return $ret;
}
else
return $catData; //有缓存直接返回缓存数据
}
2、制作导航条控制器,需要输出导航条的控制器,继承其即可

3、修改导航页nav.html,循环输出内容

PHP.49-TP框架商城应用实例-前台1-公共布局、制作首页的更多相关文章
- PHP.51-TP框架商城应用实例-前台3-楼层推荐、TP框架雪崩问题
楼层推荐 效果图 1.增加表字段 商品表 分类表 2.修改商品模型和分类模型接收字段is_floor 3.修改商品和分类相关的表单 4.后台制作推荐方法 4.1在分类模型中增加获取前台楼层数据的方 ...
- PHP.50-TP框架商城应用实例-前台2-商品推荐
商品推荐 {抢购,新品,精品,热卖}效果如下 1.在商品表增加促销价格与促销起始时间和结束时间三个字段,字段推荐楼层与排序在后面用到 注意:在增加datetime类型字段时,要添加默认值{datet ...
- PHP.52-TP框架商城应用实例-前台4-商品详情页-面包屑导航、AJAX浏览历史
面包屑导航 思路:根据商品的主分类向上取出所有上级分类即可 1.在分类模型中增加取出所有上级分类的方法 /********** [面包屑导航]取出一个分类所有上级分类 **********/ pub ...
- 已有模板与tp框架的结合 (前台)
已有模板与tp框架的结合 具体步骤 A.复制模板文件到view指定目录 B. 复合css .js.img.静态资源文件到系统指定目录 C. 把静态资源(css,js,img)文件的路径设置为“常量 ...
- TP框架 商城前台用户注册方法
//注册 public function register(){ if(IS_POST){ //接收数据 $data = I('post.'); $model = D('User'); $data[' ...
- PHP.24-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图
添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace ...
- PHP.28-TP框架商城应用实例-后台5-多表操作-商品表与品牌表
表与表之间的关系:1:1 1:多 多:多 功能需求决定表关系 此处的表关系为:品牌表:商品表=1:多 1.首先在表结构上关联,在多的表(商品表)添加一个字段,关联一的表(品牌表)的ID(主键) 添加字 ...
- PHP.27-TP框架商城应用实例-后台4-使用Gii生成品牌表的代码
Gii安装[GII适用于商城项目] 将Gii文件夹复到application 是,访问http://xx.com/index.php/gii Gii规则[Gii使用规则与建表规则密切相关] 1.建表字 ...
- PHP.48-TP框架商城应用实例-后台23-权限管理-权限验证
权限验证 1.登录控制器 2.通过tp验证码类生成验证码图片 3.在管理员模型增加登录验证规则 4.后台中所有的控制器必须先登录才能访问 思路:在访问任何一个控制器之前都判断一个session即可,= ...
随机推荐
- [转]Activitys, Threads, & Memory Leaks
转自:http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html http://www.cnblo ...
- Ajax三级联动操作的js代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Springmvc 进行数据类型转换
SpringMVC进行一些常用的数据类型转换,这里以Date 数据类型的转换为例. SpringMVC表单中输入日期,一般都是以字符串的形式输入,如何将字符形式的日期转换为Date 类型的呢?这里只需 ...
- 备份&添加无线网络配置
netsh wlan export profile key=clear folder=c:\ #备份 (ls c:\*.xml).FullName|%{netsh wlan add profile f ...
- PHP数组 转 对象/对象 转 数组
/** * 数组 转 对象 * * @param array $arr 数组 * @return object */ function array_to_object($arr) { if (gett ...
- 图片背景2X && 3X
图片背景2X && 3X @media (-webkit-min-device-pixel-ratio: 3),(min-device-pixel-ratio: 3){ .share_ ...
- HDU 1006 Tick and Tick(时钟,分钟,秒钟角度问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1006 Tick and Tick Time Limit: 2000/1000 MS (Java/Oth ...
- 安全清理Xcode 缓存垃圾
安全清理Xcode缓存垃圾方法: 经验证,Xcode缓存垃圾存储在~/Library/Developer/Xcode/DerivedData/路径下,缓存和Xcode的版本有关(如同一台Mac安装2个 ...
- 对IIS7经典模式和集成模式的理解(转载)
从IIS6新增应用程序池的概念,到现在IIS7,对HTTP请求处理功能已经越来越精确化和不断改善,IIS7应用程序池新增了经典模式和集成模式可供选择,不管官方还是一些书籍或文章都有介绍,但多数过于官方 ...
- latex 字母上面加符号
加^号 输入\hat 或 \widehat 加横线 输入 \overline 加波浪线 输入 \widetilde 加一个点 \dot{要加点的字母} 加两个点\ddot{要加点的字母} 加箭头 输 ...