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='';
}
}
}

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。


来源:网友投稿 关注: 时间:2014-05-04 23:11
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程
QQ在线咨询