今天剛剛在給用戶用織夢CMS二次開發站點的時候,需要內頁里實現這樣一個功能,判斷新增字段是否有數值,如果有數值,前臺模板顯示調用該標簽,如果該字段無數值或數值為空則前臺不調用該標簽或者調用標簽隱藏。如何實現這樣的功能要求?例如:
{dede:field.jb51 php=yes}if(@me==""||empty(@me))@me="<p>無</p>";{/dede:field.jb51 }注釋:
@me:就是當前字段的值,你可以在if中給其賦值,然后判斷結束后它的值就變成你賦的值,打印出來
具體方法如下:
方法一:
用個if判斷語句,判斷一個字段是否有東西,有則輸出1,沒有則輸出2,
下面是的代碼加載內容頁模板中
{dede:field.audio runphp='yes'}if(@me<>'')@me="如果audio字段里有東西就輸出這個,支持html代碼,并且可以在代碼中使用@me來調用audio字段值,但是不要有雙引號。";else@me="如果audio字段里沒有東西就輸出這個,也是支持html代碼,并且也是可以在代碼中使用@me來調用audio字段值,也是不要有雙引號。";{/dede:field.audio}audio是自己添加的一個字段
方法二:
給DEDE模板加了新功能 if判斷功能 標簽iif和elserun
增加了變量$str和$str_count $str是最終顯示的內容 $str_count是循環顯示內容的條數。
增加了標簽iif 和 elserun 滿足iif的條件就正常運行 如果不滿iif的條件就運行elserun
如果不滿足iif的條件,也沒指定elserun就返回空白
iif和elserun都是正常的php語法.
{dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暫時沒有內容"}<li><span class="gptlink">[field:textlink/]</span></li>{/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)
搜索
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='';}}}說了這么多,估計還是有很多朋友雨里霧里,下面就來點實際的,弄幾個實例給大家參考參考,方便大家理解.
<div id="shipindiv" {dede:field name='shipinlianjie' runphp='yes'}if(@me == "") @me = "style='display:none'";else @me = ""; {/dede:field}>上面這段代碼就是,判斷字段空值 不顯示。顯示的是:style='display:none'這一段影藏樣式代碼。
另外如何要直接控制輸出的內容,用法如下:
例子:如何【樣品索取】這個字段是空的話,就顯示none,如果是非空就有值
主站蜘蛛池模板: 乌恰县| 泊头市| 余庆县| 江阴市| 万年县| 南溪县| 凤冈县| 正定县| 长宁县| 新沂市| 庐江县| 汶川县| 金塔县| 浑源县| 郑州市| 噶尔县| 遵化市| 东乌珠穆沁旗| 辉南县| 太谷县| 扎赉特旗| 吉林省| 交口县| 美姑县| 无锡市| 汉中市| 东安县| 西乌珠穆沁旗| 阳春市| 甘谷县| 中卫市| 涡阳县| 东山县| 柳江县| 涞水县| 望谟县| 额济纳旗| 长葛市| 河东区| 淮北市| 新安县|