织梦CMS常用的几种字段判断输出实例详解

所属分类: CMS教程 / dedecms 阅读数: 1202
收藏 0 赞 0 分享

我们在使用织梦CMS制作网站时,对于某个字段,无论是默认字段还是自定义字段,偶尔会使用一些判断语句来实现我们的需求。下边列出了几种常见的需求。以及字段的判断输出实例。

第一种:织梦自定义字段,如果没有值的时候要显示指定的默认内容,

{dede:field name='ziduan' runphp='yes'}
 if(@me=='') { @me = '' ;}
 else { @me = "<div class='red'><a href='/.@me'>此处是自定义的内容</a></div>"; } 
{/dede:field}

第二种:DedeCMS判断简略标题为空时则显示完整标题

方法1,适用于内容页

{dede:field name='array' runphp='yes'}
 if (@me['shorttitle']=='') 
@me=@me['title']; 
 
else
 @me=@me['shorttitle'];
 {/dede:field}

方法2,适用于列表页

[field:array runphp='yes']
 if (@me['shorttitle']=='') @me=@me['title']; 
else @me=@me['shorttitle']; 
[/field:array]

第三种:对某一个字段多重判断

[field:array runphp='yes']
 if(@me['risklevel']=="HR")@me="HR.png"; 
else if(@me['risklevel']=="D")@me="D.png"; 
else if(@me['risklevel']=="AA")@me="AA.png";
 [/field:array]

以上意思就是说如果查询得到的风险等级字段的取值是HR,那么将输出HR.png, 如果查询得到的风险等级字段的取值是D,那么将输出D.png,如果查询得到的风险等级字段的取值是AA,那么将输出AA.png, 这里的HR.png,只是一个字符串,代表图片文件所在的位置,你可以设置成任意的图片路径,上面的代码是一种分支条件输出语句,@me代表的就是输出变量,刚进入标签field:array时,@me代表数据库的一条记录,其数据类型是数组,我们根据其中risklevle的取值来判断,从而将@me设置成不同的值,当退出标签field:array时,@me的值就会被显示在原位置。

第四种:判断过程中需要调用别的字段。

需要在模板里做一个小判断,如果文章的价格为0时直接输出其下载地址,否则直接输出购买链接,那么这个时候肯定是需要运行runphp='yes'这个功能了,下面我们来看下代码:
经过搜索发现两个方法基本上可以实现

1、首先把需要调用其它字段的值放在公共变量里,然后再直接调用公共变量的值,看代码

{dede:php}$GLOBALS['title']=$arc->Fields['title']{/dede:php} 
{dede:php}$GLOBALS['baidupan']=$arc->Fields['baidupan']{/dede:php} 
{dede:field.price runphp="yes"}
if(@me="0")
@me = "下载地址:".$GLOBALS['baidupan'];
else
@me = "商品(".$GLOBALS['title'].")购买链接为:XXX";
{/dede:field.xxxx}  

2、直接使用name='array'将其它字段的值赋值到数组里,然后使用,看代码

{dede:field name='array' runphp='yes'}
if(@me['price']=='0' )
@me = '
<li><a class="demo" href="'.@me['baidupan'].'" target="_blank">下载:'.@me['baidupwd'].'</a></li>
';
else
@me = '
<div id="pdBuy" class="PDB2C_moban_warp" dataP="'.@me['title'].'" dataR="'.@me['price'].'"><img src="/uploads/allimg/170702/155R26021-0.gif"></div>
';
{/dede:field}

上述多处需要注意符号,单引号,双引号。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

dedecsm模板中首页如何实现分页的三种方法比较分析

织梦dedecsm模板中首页如何实现分页的三种方法:用arclist标签+Ajax实现织梦首页分页/自由列表实现织梦首页分页等等,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Dedecms图片加上Alt和Title等属性的修改方法

Dedecms发表资讯等等上传的图片全部没有title,虽然有这个选项却不生效,于是就研究了一下,发现只需要在相关文件添加一段代码即可。先告知大家方法,希望更多的人能够受益
收藏 0 赞 0 分享

DEDECMS 留言薄模块的使用方法

DEDECMS默认没有启用留言板的功能,所以要我们自己添加。不论是普通的企业站还是门户型的CMS,只要是需求明显的网站都应该要有留言板的互动模块
收藏 0 赞 0 分享

dedecms5.7 文章不能发布问题探讨及解决方法

dedecms的前台会员发布文章的功能,用ckeditor就有点问题了,会员上传图片,用ckeditor的话,非管理员账号点击上传图片按钮时会弹出:提示:需输入后台管理目录才能登录,真的是很郁闷啊,遇到此问题的朋友可以看看哦
收藏 0 赞 0 分享

解决织梦DEDE5.7 tags系列bug(图解步骤)

网上搜索了一下,很多都没什么太大的作用,最多只是给个简单的思想,而没自己实际解决掉织梦5.7 tags标签显示未审核的BUG,想修复这个bug就是找不到相关的文章,很是郁闷,感兴趣的朋友可以了解下本文或许对你有所帮助
收藏 0 赞 0 分享

dede:likearticle文章标签和tag标签关联错误解决方法

织梦5.7有个dede:likearticle标记是用来文章的关联,在使用过程中发现关联实在是不理想,接下来介绍把dede的搜索功能给替换到这个likearticle上应该会好很多,感兴趣的朋友可以了解下啊,或许对你有所帮助
收藏 0 赞 0 分享

dedecms图片相关问题—后台上传图片实现图片轮播

用dedecms套网站已经有很长时间了,但图片轮播都是手工修改代码.今天抽时间研究了一下在后台上传图片来实现图片轮播,这样可以提高工作效率解放了手工,感兴趣的朋友可以参考下本文,或许有意外的收获啊
收藏 0 赞 0 分享

织梦(dede)模板标签书写格式的规范和相关注意事项

一、织梦模板标签的书写格式以及注意事项:   1. 书写格式:     ① {dede:标签名 参数='值' 参数='值'} 底层模板 {/dede:标签名}     ② {dede:标签名 参数='值'/}
收藏 0 赞 0 分享

DedeEIMS后台栏目模板(含单独页模板)修改方法

栏目不能更改模板,难道只能用默认的?那不太可能吧,本文提供了详细的修改方法,感兴趣的你可不要错过了哈,希望接下来的内容可以帮助到你
收藏 0 赞 0 分享

dedecms标签调用大全 Dedecms5.7 使用教程

为方便做模板的朋友特整理的dedecms标签调用大全,大家可以直接ctrl+F搜索定位到需要的内容即可
收藏 0 赞 0 分享
查看更多