DEDE模板中使用php和if判断语句实例分享!

今天刚刚在给用户用织梦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='';  }  }  }

说了这么多,估计还是有很多朋友雨里雾里,下面就来点实际的,弄几个实例给大家参考参考,方便大家理解.

—-想了解DEDE模板中使用php和if判断语句实例分享!且更多的dd织梦教程关注<计算机技术网(www.ctvol.com)!!>

  <div id="shipindiv"  {dede:field name='shipinlianjie' runphp='yes'}  if(@me == "") @me = "style='display:none'";else @me = "";

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cmsttfdreams/468937.html

(0)
上一篇 2020年10月27日
下一篇 2020年10月27日

精彩推荐