DEDE模板中利用php和if判定语句的能力

{dede:field.zufang_tel php=yes}
if(@me==""||empty(@me))
@me="<p>无</p>";
{/dede:field.zufang_tel}
注释:
@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='';
}
}
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsdxjx.html