zblogPHP制作的各種CMS模板中,經(jīng)常需要為分類列表模板設(shè)置不同模板樣式,比如分類同時(shí)有圖片模式、圖文列表樣式,此時(shí)分類模板的選擇往往采用編輯分類的時(shí)候選擇模板文件名,但不熟悉程序的小白來說這個(gè)方法還是有一定難度。
如上圖,很多模板用戶其實(shí)并不清楚或者經(jīng)常設(shè)置錯(cuò)這兩項(xiàng)導(dǎo)致網(wǎng)站打不開,此方法個(gè)人一直比較別扭,增加了zblog模板新用戶的使用難度,今天在升級(jí)ydproduct模板的時(shí)候,干脆拋棄這種方法,實(shí)現(xiàn)在后臺(tái)主題配置內(nèi)更直觀的點(diǎn)選分類,實(shí)現(xiàn)更改所選分類模板樣式。
這種方法,更簡(jiǎn)單粗暴,點(diǎn)擊其中的分類名稱,就會(huì)自動(dòng)填寫分類ID,然后保存! 前臺(tái)就可以改變所選分類模板的樣式,一步到位,媽媽再也不用擔(dān)心我搞壞網(wǎng)站了!
要實(shí)現(xiàn)上述的方法,主題配置內(nèi)的點(diǎn)選多分類自動(dòng)輸入分類ID先不談,先分享下模板前臺(tái)如何判斷:
首先,舉例,已知分類ID為1,2,3,4,5 數(shù)字之間小逗號(hào)隔開,這一步很容易實(shí)現(xiàn),下一步就是要在前臺(tái)加入判斷,當(dāng)頁面的分類ID等于 1,23,4,5其中任意一個(gè)數(shù)字ID時(shí)候就輸出指定的模板樣式,否則使用另一種樣式。
php端: $id = 2; $subject = '1,2,3,4,5,12'; $pattern = '/(^|,)'.$id.'(,|$)/'; if(preg_match($pattern, $subject)){ echo $id; }else{ echo 'error'; }
那么如何直接在zblog模板文件中進(jìn)行判斷呢?
{php} $cateid = $category->ID; $subject = $zbp->Config( 'ydproduct' )->catestyle; $pattern = '/(^|,)'.$cateid.'(,|$)/'; {/php} {if preg_match($pattern, $subject)} 分類模板樣式A {else} 分類模板樣式B {/if}
就這么簡(jiǎn)單!