織夢俠
WWW.2L3.NET

DEDE模板中使用php和if判斷語句的技巧

  1. {dede:field.zufang_tel php=yes}
  2. if(@me==""||empty(@me))
  3. @me="<p>無</p>";
  4. {/dede:field.zufang_tel}
注釋:
@me:就是當前字段的值,你可以在if中給其賦值,然后判斷結束后它的值就變成你賦的值,打印出來
 
具體方法如下:
方法一:
用個if判斷語句,判斷一個字段是否有東西,有責輸出1,沒有則輸出2,
下面是的代碼加載內容頁模板中
  1. {dede:field.audio runphp='yes'}
  2. if(@me<>'')@me="如果audio字段里有東西就輸出這個,支持html代碼,并且可以在代碼中使用@me來調用audio字段值,但是不要有雙引號。";
  3. else
  4. @me="如果audio字段里沒有東西就輸出這個,也是支持html代碼,并且也是可以在代碼中使用@me來調用audio字段值,也是不要有雙引號。";
  5. {/dede:field.audio}
audio是自己添加的一個字段
 
方法二:
給DEDE模板加了新功能 if判斷功能 標簽iif和elserun
增加了變量$str和$str_count $str是最終顯示的內容 $str_count是循環顯示內容的條數。
增加了標簽iif 和 elserun 滿足iif的條件就正常運行 如果不滿iif的條件就運行elserun 
如果不滿足iif的條件,也沒指定elserun就返回空白
 
iif和elserun都是正常的php語法.
  1. {dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暫時沒有內容"}
  2. <li><span class="gptlink">[field:textlink/]</span></li>
  3. {/dede:arclist}
運行結果 如果arclist沒返回結果就顯示 暫時沒內容
<title>{dede:global name='cfg_webname' iif="strlen($str)>10" elserun="$str.='我的網站'"/} </title>
運行結果 如果cfg_webname長度大于10就正常顯示
否則就在標題后面增加我的網站
顯示
更改方法 只更改一個文件就是/dede/include/pub_dedetag.php
(1)
搜索
  1. foreach($GLOBALS[$arr] as $k=>$v){
更改成
  1. $GLOBALS['autoindex']=0;
  2. foreach($GLOBALS[$arr] as $k=>$v){
  3. $GLOBALS['autoindex']++;
(2)
搜索
  1. $this->CTags[$i]->TagValue = $DedeMeValue;
  2. }
在后面加上
  1. $str = $this->CTags[$i]->TagValue;
  2. $str_count = $GLOBALS['autoindex'];
  3. if( $this->CTags[$i]->GetAtt("iif")!="" ){
  4. if(! eval("return {$this->CTags[$i]->GetAtt('iif')} ;" )){
  5. if($this->CTags[$i]->GetAtt("elserun")) {
  6. $this->CTags[$i]->TagValue=eval("return {$this->CTags[$i]->GetAtt('elserun')} ;" );
  7. }else{
  8. $this->CTags[$i]->TagValue='';
  9. }
  10. }
  11. }
轉載請注明文章來自織夢俠[秩名]作者的-DEDE模板中使用php和if判斷語句的技巧
聯系作者
取消
這個作者很懶什么也沒留下!
打賞作者
取消

本文作者無償奉獻,就打賞給我們織夢俠吧!

掃碼支付
掃碼打賞,建議金額1-10元

打開支付寶掃一掃,即可進行掃碼打賞哦

提醒:打賞金額將直接進入對方賬號,無法退款,請您謹慎操作。

蜗牛扑克