dedecms系統(tǒng)調用自定義字段的方法相當簡單,直接使用{dede:field.*/}這樣的方式調用即可。我在制作模板的時候遇到這樣一個需求:我要同時調用3個自定義字段,而這三個字段中如果有一個為空則其他的兩個字段不論是否為空,這三個字段均不顯示,根據(jù)這個需求,使用前面的標簽顯示無法實現(xiàn)。
經(jīng)過多種嘗試,還是找到了可以實現(xiàn)的方法,假設有3個自定義字段,字段名分別是bdsheng、bdshi、bdxian,下面是詳細的實現(xiàn)步驟。
一、文章詳情頁調用方法
使用了好幾種方式測試,但是只有一種成功,就是使用array,代碼如下:
1.{dede:field name='array' runphp='yes'}
2.if(@me['bdsheng'] !='' && @me['bdshi'] != '' && @me['bdxian'] != '')
3.@me='你選擇了:' . @me['bdsheng'] . '下級分類有:' . @me['bdshi'] . @me['bdxian'];
4.if(@me['bdsheng'] !='' && @me['bdshi'] != '' && @me['bdxian'] == '上海')
5.@me='當前為' . @me['bdsheng'] . '直轄市,' . @me['bdshi'] . @me['bdxian'];
6.if(@me['bdsheng'] =='徐匯' && @me['bdshi'] == '上海' && @me['bdxian'] != '')
7.@me='信息錄入錯入,請重新填寫!';
8.else @me = "";
{/dede:field}
其中第2、3兩行表示這三個字段全部不為空,滿足條件就輸出第三行內容,兩個&符號時“并且”的意思,第8行代碼表示如果前面的條件都不滿足,則不輸出任何信息。注意實處信息不能是使用雙引號。
二、首頁和列表頁調用方法
欄目列表頁和網(wǎng)站首頁調用多個字段可以使用dede:arclist標簽來限定,詳細代碼如下。
1.{dede:arclist row='5'}
2.[field:array runphp='yes']
3.if(@me['bdsheng'] !='' && @me['bdshi'] == '天津' && @me['bdxian'] =='河西區(qū)')
4.@me='輸入正確,請選擇' . @me['bdshi'] . @me['bdxian'];
5.if(@me['bdsheng'] !='南開區(qū)' && @me['bdshi'] == '紅橋區(qū)' && @me['bdxian'] != '')
6.@me='這里是南開大學' . @me['bdshi'];else @me = "";
7.[/field:array]
8.{/dede:arclist}
上面代碼應該都能看懂,就是使用if來判斷,如為空或者等于某個值時,就輸出對應的內容,如果條件都不滿足就什么也不輸出,顯示的就是一個空白。
其實還是比較簡單,這個判斷語句的使用可以減少某些字段為空時,前臺頁面上顯示必須要的占位符,影響美觀和用戶體驗。
本文由岑輝宇博客整理發(fā)布,微信搜索微信公眾號“岑輝宇 ”可查看更多內容。
更多SEO教程:http://www.cenhuiyu.com/
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!