最近養(yǎng)成了用APP瀏覽時事政事信息的習(xí)慣,注意到有些頁面有些地方出現(xiàn)三張、單張或無縮略圖,具體參考今日頭條APP、網(wǎng)易新聞APP等手機(jī)端。
結(jié)合DedeCMS做個算不上開發(fā)的教程,特別適合PHP初學(xué)者哦。
運用的是array標(biāo)簽,如果對該標(biāo)簽基礎(chǔ)及運用不了解參考文章DedeCMS用array調(diào)用多個自定義字段并判斷。
一般列表頁的標(biāo)簽如下
{dede:list} [field:array runphp='yes'] php代碼塊; [/field:array] {/dede:list}
增加自定義字段
依次打開
后臺 -> 頻道模型 -> 內(nèi)容模型管理 -> 普通文章 -> 添加新字段
字段為pic1,pic2,數(shù)據(jù)類型都為圖片無格式。加上默認(rèn)的縮略圖,一共是三張圖片。
PHP判斷實現(xiàn)思路
新增加的兩個字段為空,不輸出任何內(nèi)容;DedeCMS默認(rèn)縮略圖為空,會輸出默認(rèn)的/images/defaultpic.gif圖片。只要判斷這三個字段存不存在數(shù)值即可實現(xiàn)調(diào)用不同的模板及樣式。該欄目列表頁用{dede:list},首頁、其他欄目列表或內(nèi)容頁需用{dede:arclist},對應(yīng)的代碼如下,注意雙引號和單引號的問題。
{dede:arclist addfields='pic1,pic2' channelid='1'} [field:array runphp='yes'] $depic = '/images/defaultpic.gif'; //為減少重復(fù)代碼,把模板放到變量內(nèi)。 //模板1:只調(diào)用標(biāo)題 $con1 = ' <a class="box01" href="' . @me['arcurl'] . '"> <h2>' . @me['title'] . '</h2> </a> '; //模板2:調(diào)用標(biāo)題,默認(rèn)縮略圖 $con2 = ' <a class="box02" href="' . @me['arcurl'] . '"> <h2>' . @me['title'] . '</h2> <p class="cl"> <img src="' . @me['litpic'] . '"/> </p> </a> '; //模板3:調(diào)用標(biāo)題,默認(rèn)縮略圖,pic1,pic2 $con3 = ' <a class="box03" href="' . @me['arcurl'] . '"> <h2>' . @me['title'] . '</h2> <p class="cl"> <img src="' . @me['litpic'] . '"/> <img src="' . @me['pic1'] .'"/> <img src="' . @me['pic2'] . '"/> </p> </a> '; if(@me['litpic'] != $depic && @me['pic1'] !='' && @me['pic2'] !='') @me = $con3 ; //如果三種都不為空,則輸出全部值 elseif(@me['litpic'] == $depic && @me['pic1'] =='' && @me['pic2'] =='') @me = $con1 ; //如果三種都為空,則輸出標(biāo)題 elseif(@me['pic1'] =='' || @me['pic2'] =='') @me = $con2; //如果pic1,pic2其中一個為空,則輸出標(biāo)題,默認(rèn)縮略圖 else @me = $con1; //只輸出標(biāo)題 [/field:array] {/dede:arclist}
DedeCMS多張縮略圖總結(jié)
上面已有說明,初學(xué)者盡量把代碼寫簡潔,多而重復(fù)的代碼不易修改,很容易發(fā)生錯誤。比如:'單引號'、"雙引號"的運用、字符和變量的連接符號(.)等。以上具體樣式根據(jù)自己寫吧。