织梦常用的几种字段判断输出实例
发布时间:2021-04-30 | 发布者:
| 浏览次数:
次
我们在使用织梦cms制作网站时,对于某个字段,无论是默认字段还是自定义字段,偶尔会使用一些判断语句来实现我们的需求。下边列出了几种常见的需求。以及字段的判断输出实例。
第一种:织梦自定义字段,如果没有值的时候要显示指定的默认内容,
{dede:field name='ziduan' runphp='yes'}
if(@me=='') { @me = '' ;}
else { @me = "
"; }
{/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、首先把需要调用其它字段的值放在公共变量里,然后再直接调用公共变量的值,看代码
1 |
{dede:php}$globals[ 'title' ]=$arc->fields[ 'title' ]{/dede:php} |
2 |
{dede:php}$globals[ 'baidupan' ]=$arc->fields[ 'baidupan' ]{/dede:php} |
3 |
{dede:field.price runphp= "yes" } |
5 |
@me = "下载地址:" .$globals[ 'baidupan' ]; |
7 |
@me = "商品(" .$globals[ 'title' ]. ")购买链接为:xxx" ; |
|
2、直接使用name='array'将其它字段的值赋值到数组里,然后使用,看代码
01 |
{dede:field name= 'array' runphp= 'yes' } |
02 |
if (@me[ 'price' ]== '0' ) |
08 |
id = "pdbuy" class= "pdb2c_moban_warp" datap= "'.@me['title'].'" datar= "'.@me['price'].'" >"/uploads/allimg/170702/155r26021-0.gif" >
|
|
上述多处需要注意符号,单引号,双引号。
转载请标注:——