DedeCMS织梦

DedeCMS判断当前字段是否有值并输出

阿里云

DedeCMS 中是可以使用 PHP 的,常见的方法就是 if else 了,例如模板制作中,DedeCMS 织梦判断当前字段是否有值 有则显示无则不显示,实现的方法如下。

示例一

  1. {dede:field name='caseurl' runphp='yes'}
  2. if(@me == "") @me = "没有填写网址哦";else @me = "".@me;
  3. {/dede:field}
也想出现在这里?联系我们
创客主机

当中的 name=''就是需要判断的变量,是如果想在上边的代码中调用其他变量,怎么调用呢?

示例二

  1. {dede:field name='array' runphp='yes'}
  2. if(@me['source'] == "") @me = "@me['其它变量']";else @me = "来源:".@me['source'];
  3. {/dede:field}

还有一种办法如下:用全局变量来解决这个问题:

  1. {dede:php}$GLOBALS['xxoo']=$arc->Fields['fieldname']{/dede:php} 
  2. {dede:field.xxxx runphp="yes"}@me="test".@me."-test".$GLOBALS['xxoo'];{/dede:field.xxxx}

即,先开一个 PHP 的标签,把想赋的值替换给 global 变量。然后在另外的运行中将 field 值赋值给他。
当然更方便点可以封装成函数,这样就可以自由调用容易变量了,织梦判断当前字段是否有值,有显示反之不显示的函数封装,在织梦/include/extend.func.php 文件添加以下代码

  1. /**
  2.  * 判断当前字段是否有值 有则显示,没有则不显示
  3.  * @param $var  字段变量
  4.  * @param $name  字段名称
  5.  * @return string
  6.  */
  7. function is_empty($var,$name){
  8.     if(!empty($var)){
  9.         $vars = $name.":".$var;
  10. 	}else{
  11.         $vars= '';
  12.     }
  13.     return $vars;
  14. }

调用方法如下:

  1. {dede:field.jiage function="is_empty(@me,'价格')"/}
  2. {dede:field.jiage runphp="yes"}@me = !empty(@me) ? "价格:@me" : "";{/dede:field.jiage}

DedeCMS 判断当前字段是否有值并输出

已有 220 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!