在涂涂的一套zblog主题模板中,看见了一段调用代码是为了在首页列表页面显示指定分类文章的全部内容,可实现的效果是某个单独分类使用这个说说模板,其余的使用默认模板。适合发布一些文字较少的内容,别人即便不点进去查看,也可以看见全部文字,特意收藏整理。
{foreach $articles as $article} {if $article.IsTop} {template:post-istop} {elseif $article.Category.ID==此处填写指定分类的ID} {template:post-shuoshuo} {else} {template:post-multi} {/if} {/foreach}
以上代码中post-shuoshuo就是所要使用的指定模板,Category.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}