zblogPHP制作的各种CMS模板中,经常需要为分类列表模板设置不同模板样式,比如分类同时有图片模式、图文列表样式,此时分类模板的选择往往采用编辑分类的时候选择模板文件名,但不熟悉程序的小白来说这个方法还是有一定难度。
如上图,很多模板用户其实并不清楚或者经常设置错这两项导致网站打不开,此方法个人一直比较别扭,增加了zblog模板新用户的使用难度,今天在升级ydproduct模板的时候,干脆抛弃这种方法,实现在后台主题配置内更直观的点选分类,实现更改所选分类模板样式。
这种方法,更简单粗暴,点击其中的分类名称,就会自动填写分类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'; }
那么如何直接在zblog模板文件中进行判断呢?
{php} $cateid = $category->ID; $subject = $zbp->Config( 'ydproduct' )->catestyle; $pattern = '/(^|,)'.$cateid.'(,|$)/'; {/php} {if preg_match($pattern, $subject)} 分类模板样式A {else} 分类模板样式B {/if}
就这么简单!