dedecms用array調用多個自定義字段并判斷

首頁、列表頁增加多字段判斷
用[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']<!--把tishi字段放到數組-->
{/dede:php} 
{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功能還是很強大的,推薦用這個功能,特別是對多種判斷條件的情況下,可以減少不必要的開發(fā)時間

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容