淘先锋技术网

首页 1 2 3 4 5 6 7

zblogPHP制作的各种CMS模板中,经常需要为分类列表模板设置不同模板样式,比如分类同时有图片模式、图文列表样式,此时分类模板的选择往往采用编辑分类的时候选择模板文件名,但不熟悉程序的小白来说这个方法还是有一定难度。

选择分类模板样式.png

如上图,很多模板用户其实并不清楚或者经常设置错这两项导致网站打不开,此方法个人一直比较别扭,增加了zblog模板新用户的使用难度,今天在升级ydproduct模板的时候,干脆抛弃这种方法,实现在后台主题配置内更直观的点选分类,实现更改所选分类模板样式。

点选分类样式.png

点击获取(输入)多分类ID的JS特效

这种方法,更简单粗暴,点击其中的分类名称,就会自动填写分类ID,然后保存! 前台就可以改变所选分类模板的样式,一步到位,妈妈再也不用担心我搞坏网站了!

要实现上述的方法,主题配置内的点选多分类自动输入分类ID先不谈,先分享下模板前台如何判断:

首先,举例,已知分类ID为1,2,3,4,5 数字之间小逗号隔开,这一步很容易实现,下一步就是要在前台加入判断,当页面的分类ID等于 1,23,4,5其中任意一个数字ID时候就输出指定的模板样式,否则使用另一种样式。

php端:
$id = 2;
$subject = '1,2,3,4,5,12';
$pattern = '/(^|,)'.$id.'(,|$)/';
if(preg_match($pattern, $subject)){
echo $id;
}else{
echo 'error';
}

5243fbf2b21193136c4cb54a6f380cd791238d39.jpg

那么如何直接在zblog模板文件中进行判断呢?

{php}
  $cateid = $category->ID;
  $subject = $zbp->Config( 'ydproduct' )->catestyle;
  $pattern = '/(^|,)'.$cateid.'(,|$)/';
  {/php}
  {if preg_match($pattern, $subject)}
  分类模板样式A
  {else}
  分类模板样式B
  {/if}

就这么简单!