有時(shí)候織夢(mèng)自定義字段,如果沒(méi)有值的時(shí)候要顯示指定的默認(rèn)內(nèi)容,該如何操作:
{dede:field name='jiage' runphp='yes'} if(@me=='') { @me = '' ;} else { @me = "<div class='cr12'><a href='/.@me'>紅色是自定義的內(nèi)容</a></div>"; } {/dede:field} |
jiage是自定義字段
織夢(mèng)判斷字段為空就不顯示字段調(diào)用代碼,字段不為空就顯示字段調(diào)用代碼,以下代碼用在文章內(nèi)容頁(yè):
{dede:field name=array runphp=yes}if(@me['fujian']==''){@me = "";}else{@me = "<p class='t1'><img src='/style/images/file.png' /><a href='{@me[fujian]}'>{@me['fjmc']}</a></p>";}{/dede:field} |
說(shuō)明:如果fujian 這個(gè)自定義字段為空,就顯示為空,fujian字段不為空,就調(diào)用出自定義字段的代碼
織夢(mèng)DedeCMS模板里會(huì)遇到同時(shí)參與判斷的兩個(gè)字段,如果用[field:xxx runphp='yes']明顯是不夠的,該標(biāo)簽只對(duì)全局和本身字段有效,稍微研究了一下,總結(jié)幾種方法,適用首頁(yè)、列表頁(yè)以及內(nèi)容頁(yè)。
織夢(mèng)首頁(yè)、列表頁(yè)增加多字段判斷
用[field:array runphp='yes']標(biāo)簽,這個(gè)標(biāo)簽可以獲取任意字段的值。
比如,有兩個(gè)字段分別為:tishi,leibie,先判斷 tishi 這個(gè)字段是否為空,同時(shí)判斷 leibie 是否是指定字符,如果條件都滿(mǎn)足,就只調(diào)用tishi字段內(nèi)容,就可以這樣寫(xiě)(和平時(shí)用的@me不同,這里的字段按照 @me['tishi'] 如下面部分)。
{dede:arclist row='5'} [field:array runphp='yes'] if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別1') @me='提示信息不為空,類(lèi)別1的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別2') @me='提示信息不為空,類(lèi)別2的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別3') @me='提示信息不為空,類(lèi)別3的信息如下:' . @me['tishi']; [/field:array] {/dede:arclist} |
&&是邏輯且的意思,有不明白的可以網(wǎng)上找找相應(yīng)的資料,就不重復(fù)了。
織夢(mèng)內(nèi)容頁(yè)增加多字段判斷方法稍微復(fù)雜點(diǎn),主要有兩種方法,都介紹一下吧,使用{dede:field.xx}寫(xiě)php調(diào)用
{dede:php}$GLOBALS['tishi']=$arc->Fields['tishi']{/dede:php} <!--把tishi字段放到數(shù)組--> {dede:field.leibie runphp="yes"} if(@me=='類(lèi)別1' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類(lèi)別1的信息如下:".$GLOBALS['tishi']; elseif(@me=='類(lèi)別2' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類(lèi)別2的信息如下:".$GLOBALS['tishi']; elseif(@me=='類(lèi)別3' && $GLOBALS['tishi']!='') @me = "提示信息不為空,類(lèi)別3的信息如下:".$GLOBALS['tishi']; else @me='無(wú)'; {/dede:field.leibie} |
使用{dede:field name='array'}寫(xiě)php調(diào)用
這個(gè)方法和首頁(yè)、列表的相似。寫(xiě)一個(gè)兩個(gè)字段都能調(diào)用的參考下:
{dede:field name='array' runphp='yes'} if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別1') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別2') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類(lèi)別3') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; {/dede:field} |
總的來(lái)說(shuō)織夢(mèng)array功能還是很強(qiáng)大的,推薦用這個(gè)功能,特別是對(duì)多種判斷條件的情況下,可以減少不必要的開(kāi)發(fā)時(shí)間。