在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
公共布局包括 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,循环输出内容
|
2022-08-16
2022-08-30
2022-07-18
2022-08-18
2022-07-29
请发表评论