请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

ecshop 自定义分类模板的方法

ecshop是一个功能方面比较完善的商城的程序,但是毕竟不同于一般的cms类系统。无法自定义每个分类的模板,这样就造成了分类模板一成不变的样式,对于美观以及个性方面可能要差点。不过ec的开源给了php开发者一个很大的diy空间,ecshop的二次开发性也是蛮强大的。
下面是我实现的ecshop自定义分类模板的方法,子类可以继承最顶级的模板。好处是不用修改数据库,可以在后台分类自定义模板。功能比较简单,代码也很少,只是一个小技巧,用ecshop的朋友可以来尝试一下。
  ecshop 自定义分类模板的方法实现步骤

打开根目录的category.php文件(不要问我根目录在哪里),找到大概401行 “$smarty->display('category.dwt', $cache_id);”,将此行注释掉或者删除。在其下面添加下面代码

  1. $cat_arr = get_parent_cats($cat_id);
  2. foreach ($cat_arr AS $val)
  3. {
  4.          $cats['style']=$val['style'];
  5. }
  6. if(empty($cat['style']))
  7. {
  8.          if(!empty($cats['style']))
  9.          {
  10.                 $smarty->display($cats['style'], $cache_id);
  11.                 }
  12.         else
  13.                 {
  14.              $smarty->display('category.dwt', $cache_id);
  15.              }
  16. }
  17. else
  18. {
  19.          $smarty->display($cat['style'], $cache_id);
  20. }
复制代码
代码工作完成,然后进入后台,商品分类,找到你要添加自定义模板的那个分类。在分类的样式表文件后面的输入框中,输入你想要应用的模板文件的名称,比如“category_shoes.dwt”(前提是你的主题文件中要存在此模板文件,必须是完整的模板文件名称)
ok,工作完成,更新缓存去前台参观一下吧。
  ecshop 自定义分类模板的方法注意要点


         
  • 此方法应用的是ecshop自带的“可以自定义分类的样式表文件”的修改版本。如果你原来用了后台分类的自定义分类的样式表文件,那么只能告诉你——鱼与熊掌不可兼得。(其实这种方法要比原来程序自带的那种要强大)     
  • 使用了此方法就不要在模板中载入下面这段代码了   

    1. <!-- {if $cat_style} -->
    2. <link href="{$cat_style}" rel="stylesheet" type="text/css" />
    3. <!-- {/if} -->
    复制代码
       
  • 顶级分类定义了的话,子类可以继承顶级分类的模板。如果顶级分类没有定义,顶级分类和子类都会载入默认的模板样式“$smarty->display('category.dwt', $cache_id);”     
  • 子类同样可以自定义模板,如果想要子类模板不一样的话,同样需要单独定义。
  ecshop 自定义分类模板的方法代码解说

前面5行代码实现调用当前类别的顶级分类的style,赋值到“ $cats['style'] ”
第6行判断当前自定义模板是否为空,接下来,如果不存在就判断顶级分类模板是否存在,存在就继承顶级模板,不存在就调用默认的category.dwt
最后两行是在当前自定义模板存在的情况下,就载入当前自定义的模板。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

    热门帖子
  • 精华
  • 新帖
快速回复 返回顶部 返回列表