互联网知识

精准传达 • 价值共享

洞悉互联网前沿资讯,探寻网站营销规律

查看其它板块

DEDE模板中使用php和if判断语句的技巧

作者:狐灵科技 | 2019-07-30 11:11 |点击:

  1. {dede:field.zufang_tel php=yes}
  2. if(@me==""||empty(@me))
  3. @me="<p>无</p>";
  4. {/dede:field.zufang_tel}
注释:
@me:就是当前字段的值,你可以在if中给其赋值,然后判断结束后它的值就变成你赋的值,打印出来
 
具体方法如下:
方法一:
用个if判断语句,判断一个字段是否有东西,有责输出1,没有则输出2,
下面是的代码加载内容页模板中
  1. {dede:field.audio runphp='yes'}
  2. if(@me<>'')@me="如果audio字段里有东西就输出这个,支持html代码,并且可以在代码中使用@me来调用audio字段值,但是不要有双引号。";
  3. else
  4. @me="如果audio字段里没有东西就输出这个,也是支持html代码,并且也是可以在代码中使用@me来调用audio字段值,也是不要有双引号。";
  5. {/dede:field.audio}
audio是自己添加的一个字段
 
方法二:
给DEDE模板加了新功能 if判断功能 标签iif和elserun
增加了变量$str和$str_count $str是最终显示的内容 $str_count是循环显示内容的条数。
增加了标签iif 和 elserun 满足iif的条件就正常运行 如果不满iif的条件就运行elserun 
如果不满足iif的条件,也没指定elserun就返回空白
 
iif和elserun都是正常的php语法.
  1. {dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暂时没有内容"}
  2. <li><span class="gptlink">[field:textlink/]</span></li>
  3. {/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)
搜索
  1. foreach($GLOBALS[$arr] as $k=>$v){
更改成
  1. $GLOBALS['autoindex']=0;
  2. foreach($GLOBALS[$arr] as $k=>$v){
  3. $GLOBALS['autoindex']++;
(2)
搜索
  1. $this->CTags[$i]->TagValue = $DedeMeValue;
  2. }
在后面加上
  1. $str = $this->CTags[$i]->TagValue;
  2. $str_count = $GLOBALS['autoindex'];
  3. if$this->CTags[$i]->GetAtt("iif")!="" ){
  4. if(! eval("return {$this->CTags[$i]->GetAtt('iif')} ;" )){
  5. if($this->CTags[$i]->GetAtt("elserun")) {
  6. $this->CTags[$i]->TagValue=eval("return {$this->CTags[$i]->GetAtt('elserun')} ;" );
  7. }else{
  8. $this->CTags[$i]->TagValue='';
  9. }
  10. }
  11. }
如没特殊注明,文章均为狐灵科技原创,转载请注明  https://www.hulingweb.cn/hulianwang/534.html
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

网站设计 品牌营销

多一份参考,总有益处

联系狐灵科技,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:023-68168040 / 大客户专线:15523356218