ecshop 在不同分类调用不同模板[像一号店分类首页]

2016-07-07 16:03 来源:www.chinab4c.com 作者:ecshop专家



1.在ecs_category表 添加 template 字段
可以在后台运行sql语句:
  1. alter table `ecs_category` Add column template text NOT NULL AFTER `style`
复制代码


2.打开admin/templates/category_info.htm 文件
分类的样式表文件 的下一行:加放以下代码


  1. <tr>
  2. <td class="label">模板文件:</td>
  3. <td>
  4. <input type="text" name="template" value="{$cat_info.template|escape}" size="40" /> <br />
  5. <span class="notice-span">留空为默认模板</span>
  6. </td>
  7. </tr>
复制代码


3.打开admin/category.php
找到 (一共两个地方)
  1. $cat['style'] = !empty($_POST['style']) ? trim($_POST['style']) : '';
复制代码


在下面加上
  1. $cat['template'] = !empty($_POST['template']) ? trim($_POST['template']) : '';
复制代码


4.打开category.php
找到
  1. function get_cat_info($cat_id)
复制代码


要在下的sql语句里找到 cat_desc, style 在后面加上 ,template

找到
  1. if (!$smarty->is_cached('category.dwt', $cache_id))
复制代码



  1. $children = get_children($cat_id);
  2. $cat = get_cat_info($cat_id); // 获得分类的相关信
复制代码


移到,if (!$smarty->is_cached('category.dwt', $cache_id)) 的上一行
在$cat = get_cat_info($cat_id); 的下面下加上

$template_cat = $cat['template'];
if($template_cat =='')
{
$template_cat = "category.dwt";
}
然后,把有 'category.dwt' 的地方,替换成 $template_cat就可以了.

5.把需要调用的模板,在后台填写到刚加的位置就可以。

演示地址:http://www.ecshopx.com/mb/yihao2012/category.php?id=12

6dec7172gc05c3c24e826&690.jpg
转载于:http://www.ecshopx.com/article-37.html

回答:
对。这个就好比也专题的模式一样。思路是对的

不错的方法。

很不错的方法。。。。。。。

谢谢楼上的兄弟

不太知道呀

这个不错,收藏学习了。

进来。。学习 下的,

很好,谢谢楼主,改天我也想试试看。

很不错的分享

就是模板也不太知道怎么弄呢

太好了!!!谢谢分享啊!!!顶顶!!

不错的代码谢谢。

这个不是主业的分类吧