有時候織夢自定義字段,如果沒有值的時候要顯示指定的默認內容,該如何操作:
{dede:field name='jiage' runphp='yes'} if(@me=='') { @me = '' ;} else { @me = "<div class='cr12'><a href='/.@me'>紅色是自定義的內容</a></div>"; } {/dede:field} |
jiage是自定義字段
織夢判斷字段為空就不顯示字段調用代碼,字段不為空就顯示字段調用代碼,以下代碼用在文章內容頁:
{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} |
說明:如果fujian 這個自定義字段為空,就顯示為空,fujian字段不為空,就調用出自定義字段的代碼
織夢DedeCMS模板里會遇到同時參與判斷的兩個字段,如果用[field:xxx runphp='yes']明顯是不夠的,該標簽只對全局和本身字段有效,稍微研究了一下,總結幾種方法,適用首頁、列表頁以及內容頁。
用[field:array runphp='yes']標簽,這個標簽可以獲取任意字段的值。
比如,有兩個字段分別為:tishi,leibie,先判斷 tishi 這個字段是否為空,同時判斷 leibie 是否是指定字符,如果條件都滿足,就只調用tishi字段內容,就可以這樣寫(和平時用的@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} |
&&是邏輯且的意思,有不明白的可以網上找找相應的資料,就不重復了。
織夢內容頁增加多字段判斷方法稍微復雜點,主要有兩種方法,都介紹一下吧,使用{dede:field.xx}寫php調用
{dede:php}$GLOBALS['tishi']=$arc->Fields['tishi']{/dede:php} <!--把tishi字段放到數組--> {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調用
這個方法和首頁、列表的相似。寫一個兩個字段都能調用的參考下:
{dede:field name='array' runphp='yes'} if(@me['tishi'] !='' && @me['leibie'] == '類別1') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類別2') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '類別3') @me='提示信息不為空,' . @me['leibie'] . '的信息如下:' . @me['tishi']; {/dede:field} |
總的來說織夢array功能還是很強大的,推薦用這個功能,特別是對多種判斷條件的情況下,可以減少不必要的開發時間。
新聞熱點
疑難解答