当前位置: 首页 > news >正文

织梦CMS模板中dede标签使用php和if判断语句的方法

今天我们织梦模板团来说说织梦模板中dede标签使用php和if判断语句的方法:

先来看看下面这个标签:

{dede:field.tong_gg php=yes}br/>if(@me==""||empty(@me))
@me="<p>无</p>";
{/dede:field.tong_gg}
注释:
@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
一、搜索
foreach($GLOBALS[$arr] as $k=>$v){
更改成
$GLOBALS['autoindex']=0;
foreach($GLOBALS[$arr] as $k=>$v){
$GLOBALS['autoindex']++;
二、搜索
$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='';
}
}
}

OK咯!就说到这里了啊!

转载于:https://blog.51cto.com/14262733/2370549

相关文章:

  • 2019第十四届中国竞争情报国际年会将于4月在上海召开
  • 移动互联网下半场,iOS开发者如何“高薪”成长?
  • 判断是手机端还是PC端的代码
  • linux分区方案
  • 邮件加密之SMIME
  • 微信公众平台生成二维码海报是如何做到的?
  • idea thymeleaf 表达式模板报红波浪线
  • 呼叫中心系统常见的数据对接接口方式
  • JAVA8给我带了什么——lambda表达
  • websocket 二合一
  • Python入门教程100天:Day05-练习总结
  • vue-cli3 less全局变量使用
  • 日常压测流程
  • java冒泡排序 常规排序和优化排序
  • Chef宣布100%开源,要走红帽模式?\n
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Docker 笔记(2):Dockerfile
  • es的写入过程
  • HomeBrew常规使用教程
  • Java 内存分配及垃圾回收机制初探
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript异步流程控制的前世今生
  • java小心机(3)| 浅析finalize()
  • python学习笔记-类对象的信息
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 安卓应用性能调试和优化经验分享
  • 编写符合Python风格的对象
  • 嵌入式文件系统
  • 试着探索高并发下的系统架构面貌
  • 微服务核心架构梳理
  • 温故知新之javascript面向对象
  • 我的zsh配置, 2019最新方案
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ###STL(标准模板库)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (1)(1.13) SiK无线电高级配置(六)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (pojstep1.1.2)2654(直叙式模拟)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (zt)最盛行的警世狂言(爆笑)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (接口封装)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)setTimeout 和 setInterval 的区别
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core中的去虚
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net 流——流的类型体系简单介绍
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录