女神猫女王

代理加盟 2020全新代理計劃 賺錢+省錢雙管齊下,獨立平臺,豐厚利潤!

您現在的位置: 秀站網 > 織夢大學 > 使用教程 >

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

來源:本站原創 發布時間:2019-03-30 00:00:00熱度:我要評論(0

免費下載,無需注冊無需充值

       DedeCMS模板里會遇到同時參與判斷的兩個字段,如果用[field:xxx runphp='yes']明顯是不夠的,該標簽只對全局和本身字段有效,稍微研究了一下,總結幾種方法,適用首頁、列表頁以及內容頁。

DedeCMS自定義函數調用

首頁、列表頁增加多字段判斷

       用[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功能還是很強大的,推薦用這個功能,特別是對多種判斷條件的情況下,可以減少不必要的開發時間。

轉載請注明來源網址:http://www.qksux.club/dedecms_jq/1362.html

    發表評論

    評論列表(條)

      女神猫女王 6224707444016508935483021612662156483672723743730281195930531522096080682345997686911843285825232320 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();