ECshop自定义分类模板子类继承的方法

更新时间:2016-07-08 点击量:765


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

$smarty->display(‘category.dwt’, $cache_id);”,将此行注释掉或者删除。在其下面添加下面代码
$cat_arr = get_parent_cats($cat_id); foreach ($cat_arr AS $val)
 {         
 $cats['style']=$val['style']; } if(empty($cat['style']))  
 {   if(!empty($cats['style']))         
  {   $smarty->display($cats['style'], $cache_id);   
   }  
  else         
   {      
    $smarty->display('category.dwt', $cache_id); 
    }
  } 
    else
    {  
    $smarty->display($cat['style'], $cache_id); 
    }

代码工作完成,然后进入后台,商品分类,找到你要添加自定义模板的那个分类。在分类的样式表文件后面的输入框中,

输入你想要应用的模板文件的名称,比如“category_shoes.dwt”(前提是你的主题文件中要存在此模板文件,必须是完整的模板文件名称)
 
ok
,工作完成,更新缓存去前台参观一下吧


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

<!-- {if $cat_style} -->
 <link href="{$cat_style}" rel="stylesheet" type="text/css" />
 <!-- {/if} -->

顶级分类定义了的话,子类可以继承顶级分类的模板。如果顶级分类没有定义,顶级分类和子类都会载入默认的模板样式

“$smarty->display(‘category.dwt’, $cache_id);”

子类同样可以自定义模板,如果想要子类模板不一样的话,同样需要单独定义。

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



支付宝扫码打赏 微信打赏

如果文章对您有帮助,就打赏一个吧

在线客服

客户服务

热线电话:

0755-36656507 15889489919 服务时间:

周一到周六:9:00-18:00

在线QQ客服

在线微信客服

关于我们 常见问题

支付方式 加盟合作

提交需求
优惠红包 购物车0 反馈留言 返回顶部