織夢CMS怎麼實現判斷輸出?
織夢CMS常用的幾種字段判斷輸出實例詳解
我們在使用織夢CMS製作網站時,對於某個字段,無論是預設字段還是自訂字段,偶爾會使用一些判斷語句來實現我們的需求。下邊列出了幾種常見的需求。以及字段的判斷輸出實例。
推薦學習:織夢cms
第一種:織夢自訂字段,如果沒有值的時候要顯示指定的預設內容,
{dede:field name='ziduan' runphp='yes'} if(@me=='') { @me = '' ;} else { @me = "<div class='red'><a href='/.@me'>此处是自定义的内容</a></div>"; } {/dede:field}
第二種:DedeCMS判斷簡略標題為空白時則顯示完整標題
方法1,適用於內容頁
{dede:field name='array' runphp='yes'} if (@me['shorttitle']=='') @me=@me['title']; else @me=@me['shorttitle']; {/dede:field}
方法2,適用於清單頁
[field:array runphp='yes'] if (@me['shorttitle']=='') @me=@me['title']; else @me=@me['shorttitle']; [/field:array]
第三種:對某一個字段多重判斷
[field:array runphp='yes'] if(@me['risklevel']=="HR")@me="HR.png"; else if(@me['risklevel']=="D")@me="D.png"; else if(@me['risklevel']=="AA")@me="AA.png"; [/field:array]
以上意思就是說如果查詢得到的風險等級字段的取值是HR,那麼將輸出HR.png, 如果查詢得到的風險等級字段的值是D,那麼將輸出D.png,如果查詢得到的風險等級字段的取值是AA,那麼將輸出AA.png, 這裡的HR.png,只是一個字符串,代表圖片文件所在的位置,你可以設定成任意的圖片路徑,上面的程式碼是一種分支條件輸出語句,@me代表的就是輸出變量,剛進入標籤field:array時,@me代表資料庫的記錄,其資料型別是數組,我們根據其中risklevle的取值來判斷,從而將@me設定成不同的值,當退出標籤field:array時,@me的值就會被顯示在原始位置。
第四種:判斷過程中需要呼叫別的欄位。
需要在模板裡做一個小判斷,如果文章的價格為0時直接輸出其下載地址,否則直接輸出購買鏈接,那麼這個時候肯定是需要運行runphp='yes'這個功能了,下面我們來看下程式碼:
經過搜尋發現兩個方法基本上可以實作
1、先把需要呼叫其它欄位的值放在公共變數裡,然後再直接呼叫公共變數的值,看程式碼
{dede:php}$GLOBALS['title']=$arc->Fields['title']{/dede:php} {dede:php}$GLOBALS['baidupan']=$arc->Fields['baidupan']{/dede:php} {dede:field.price runphp="yes"} if(@me="0") @me = "下载地址:".$GLOBALS['baidupan']; else @me = "商品(".$GLOBALS['title'].")购买链接为:XXX"; {/dede:field.xxxx}
2、直接使用name='array'將其它欄位的值賦值到陣列裡,然後使用,看程式碼
{dede:field name='array' runphp='yes'} if(@me['price']=='0' ) @me = ' <li><a class="demo" href="'.@me['baidupan'].'" target="_blank">下载:'.@me['baidupwd'].'</a></li> '; else @me = ' <div id="pdBuy" class="PDB2C_moban_warp" dataP="'.@me['title'].'" dataR="'.@me['price'].'"><img src="/uploads/allimg/170702/155R26021-0.gif"></div> '; {/dede:field}
上述多處需要注意符號,單引號,雙引號。
以上是織夢CMS怎麼實現判斷輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!