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