今天剛剛在給用戶用織夢(mèng)CMS二次開發(fā)站點(diǎn)的時(shí)候,需要內(nèi)頁(yè)里實(shí)現(xiàn)這樣一個(gè)功能,判斷新增字段是否有數(shù)值,如果有數(shù)值,前臺(tái)模板顯示調(diào)用該標(biāo)簽,如果該字段無(wú)數(shù)值或數(shù)值為空則前臺(tái)不調(diào)用該標(biāo)簽或者調(diào)用標(biāo)簽隱藏。如何實(shí)現(xiàn)這樣的功能要求?例如:
{dede:field.yii666 php=yes} if(@me==""||empty(@me)) @me="無(wú)"; {/dede:field.yii666 }
注釋:
@me:就是當(dāng)前字段的值,你可以在if中給其賦值,然后判斷結(jié)束后它的值就變成你賦的值,打印出來(lái)
具體方法如下:
方法一:
用個(gè)if判斷語(yǔ)句,判斷一個(gè)字段是否有東西,有則輸出1,沒(méi)有則輸出2,
下面是的代碼加載內(nèi)容頁(yè)模板中
{dede:field.audio runphp='yes'} if(@me'')@me="如果audio字段里有東西就輸出這個(gè),支持html代碼,并且可以在代碼中使用@me來(lái)調(diào)用audio字段值,但是不要有雙引號(hào)。"; else @me="如果audio字段里沒(méi)有東西就輸出這個(gè),也是支持html代碼,并且也是可以在代碼中使用@me來(lái)調(diào)用audio字段值,也是不要有雙引號(hào)。"; {/dede:field.audio}
audio是自己添加的一個(gè)字段
方法二:
給DEDE模板加了新功能 if判斷功能 標(biāo)簽iif和elserun
增加了變量$str和$str_count $str是最終顯示的內(nèi)容 $str_count是循環(huán)顯示內(nèi)容的條數(shù)。
增加了標(biāo)簽iif 和 elserun 滿足iif的條件就正常運(yùn)行 如果不滿iif的條件就運(yùn)行elserun
如果不滿足iif的條件,也沒(méi)指定elserun就返回空白
iif和elserun都是正常的php語(yǔ)法.
{dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暫時(shí)沒(méi)有內(nèi)容"}[field:textlink/] {/dede:arclist}
運(yùn)行結(jié)果 如果arclist沒(méi)返回結(jié)果就顯示 暫時(shí)沒(méi)內(nèi)容
{dede:global name='cfg_webname' iif="strlen($str)>10" elserun="$str.='我的網(wǎng)站'"/}
運(yùn)行結(jié)果 如果cfg_webname長(zhǎng)度大于10就正常顯示
否則就在標(biāo)題后面增加我的網(wǎng)站
顯示
更改方法 只更改一個(gè)文件就是/dede/include/pub_dedetag.php
搜索
foreach($GLOBALS[$arr] as $k=>$v){
更改成
$GLOBALS['autoindex']=0; foreach($GLOBALS[$arr] as $k=>$v){ $GLOBALS['autoindex']++;
搜索
$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=''; } } }
說(shuō)了這么多,估計(jì)還是有很多朋友雨里霧里,下面就來(lái)點(diǎn)實(shí)際的,弄幾個(gè)實(shí)例給大家參考參考,方便大家理解.
上面這段代碼就是,判斷字段空值 不顯示。顯示的是:style='display:none'這一段影藏樣式代碼。
另外如何要直接控制輸出的內(nèi)容,用法如下:
例子:如何【樣品索取】這個(gè)字段是空的話,就顯示none,如果是非空就有值
樣品索?。?/p>
{dede:field.yanshi runphp='yes'} if(@me'' )@me = 'Sample Request';else @me = 'none'; {/dede:field.yanshi}
(注意用什么開頭,就用什么結(jié)束,例如上面例子的yanshi)
下面是一個(gè)列子:判斷欄目是否有欄目圖片,如果沒(méi)有的話就顯示欄目名字
{dede:field.typeid runphp='yes'} $ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID"; $query = mysql_query($sql); $row=mysql_fetch_array($query); $arcpic = "$row[arcpic]"; $typename = "$row[typename]"; if($arcpic == null) @me = ''.$typename.'
好了,說(shuō)到這邊相信大部分童鞋都能明白和理解了,如果你還有什么不會(huì)的,或者不想自己處理的,可以聯(lián)系我們的在線客服幫你處理。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-436090.html
以上就是DEDE模板中使用php和if判斷語(yǔ)句實(shí)例的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和解決疑問(wèn)有所幫助,也希望大家多多支持yii666。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-436090.html
到了這里,關(guān)于DEDE模板中使用php和if判斷語(yǔ)句實(shí)例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!