織夢DedeCMS模板里會遇到同時參與判斷的兩個字段,如果用[field:xxx runphp='yes']明顯是不夠的,該標(biāo)簽只對全局和本身字段有效,稍微研究了一下,總結(jié)幾種方法,適用首頁、列表頁以及內(nèi)容頁。
織夢首頁、列表頁增加多字段判斷
用[field:array runphp='yes']標(biāo)簽,這個標(biāo)簽可以獲取任意字段的值。
比如,有兩個字段分別為:tishi,leibie,先判斷 tishi 這個字段是否為空,同時判斷 leibie 是否是指定字符,如果條件都滿足,就只調(diào)用tishi字段內(nèi)容,就可以這樣寫(和平時用的@me不同,這里的字段按照 @me['tishi'] 如下面部分)。
{dede:arclist row='5'} [field:array runphp='yes'] if(@me['tishi'] !='' && @me['leibie'] == '類別1') @me='提示信息不為空,類別1的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類別2') @me='提示信息不為空,類別2的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類別3') @me='提示信息不為空,類別3的信息如下:' . @me['tishi']; [/field:array] {/dede:arclist} |
&&是邏輯且的意思,有不明白的可以網(wǎng)上找找相應(yīng)的資料,就不重復(fù)了。
織夢內(nèi)容頁增加多字段判斷
方法稍微復(fù)雜點,主要有兩種方法,都介紹一下吧,
使用{dede:field.xx}寫php調(diào)用
{dede:php}$GLOBALS['tishi']=$arc->Fields['tishi']{/dede:php} <!--把tishi字段放到數(shù)組--> {dede:field.leibie runphp="yes"} if(@me=='類別1' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類別1的信息如下:".$GLOBALS['tishi']; elseif(@me=='類別2' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類別2的信息如下:".$GLOBALS['tishi']; elseif(@me=='類別3' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類別3的信息如下:".$GLOBALS['tishi']; else @me='無'; {/dede:field.leibie} |
使用{dede:field name='array'}寫php調(diào)用
這個方法和首頁、列表的相似。寫一個兩個字段都能調(diào)用的參考下