濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識 > DEDE模板中使用php和if判斷語句的技巧

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

POST TIME:2017-10-29 22:10

{dede:field.zufang_tel php=yes}
if(@me==""||empty(@me))
@me="<p>無</p>";
{/dede:field.zufang_tel}
注釋:
@me:就是當前字段的值,你可以在if中給其賦值,然后判斷結(jié)束后它的值就變成你賦的值,打印出來

具體方法如下:

方法一:

用個if判斷語句,判斷一個字段是否有東西,有責輸出1,沒有則輸出2,

下面是的代碼加載內(nèi)容頁模板中

{dede:field.audio runphp='yes'}
if(@me<>'')@me="如果audio字段里有東西就輸出這個,支持html代碼,并且可以在代碼中使用@me來調(diào)用audio字段值,但是不要有雙引號。";
else
@me="如果audio字段里沒有東西就輸出這個,也是支持html代碼,并且也是可以在代碼中使用@me來調(diào)用audio字段值,也是不要有雙引號。";
{/dede:field.audio}

audio是自己添加的一個字段

方法二:

給DEDE模板加了新功能 if判斷功能 標簽iif和elserun

增加了變量$str和$str_count $str是最終顯示的內(nèi)容 $str_count是循環(huán)顯示內(nèi)容的條數(shù)。

增加了標簽iif 和 elserun 滿足iif的條件就正常運行 如果不滿iif的條件就運行elserun 
如果不滿足iif的條件,也沒指定elserun就返回空白

iif和elserun都是正常的php語法.

{dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暫時沒有內(nèi)容"}
<li><span class="gptlink">[field:textlink/]</span></li>
{/dede:arclist}
運行結(jié)果 如果arclist沒返回結(jié)果就顯示 暫時沒內(nèi)容
<title>{dede:global name='cfg_webname' iif="strlen($str)>10" elserun="$str.='我的網(wǎng)站'"/} </title>
運行結(jié)果 如果cfg_webname長度大于10就正常顯示
否則就在標題后面增加我的網(wǎng)站
顯示
更改方法 只更改一個文件就是/dede/include/pub_dedetag.php
(1)
搜索
foreach($GLOBALS[$arr] as $k=>$v){
更改成
$GLOBALS['autoindex']=0;
foreach($GLOBALS[$arr] as $k=>$v){
$GLOBALS['autoindex']++;
(2)
搜索
$this->CTags[$i]->TagValue = $DedeMeValue;
}
在后面加上
$str = $this->CTags[$i]->TagValue;
$str_count = $GLOBALS['autoindex'];
if( $this->CTags[$i]->GetAtt("iif")!="" ){
if(! eval("return {$this->CTags[$i]->GetAtt('iif')} ;" )){
if($this->CTags[$i]->GetAtt("elserun")) {
$this->CTags[$i]->TagValue=eval("return {$this->CTags[$i]->GetAtt('elserun')} ;" );
}else{
$this->CTags[$i]->TagValue='';
}
}
}



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
肇庆市| 惠东县| 安顺市| 吴川市| 文昌市| 广元市| 淅川县| 桐城市| 紫阳县| 广南县| 昌邑市| 即墨市| 沾化县| 东宁县| 涞水县| 玛曲县| 东安县| 东城区| 梅河口市| 靖西县| 龙州县| 晋中市| 吉安县| 保定市| 霍林郭勒市| 突泉县| 青铜峡市| 通化市| 聊城市| 新津县| 那坡县| 北流市| 惠安县| 藁城市| 密云县| 阿克苏市| 遵义县| 滁州市| 绵阳市| 手机| 三河市|