DedeCMS判断当前字段是否有值并输出
DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,DedeCMS织梦判断当前字段是否有值 有则显示无则不显示,实现的方法如下。
示例一
-
{dede:field name='caseurl' runphp='yes'}
-
if(@me == "") @me = "没有填写网址哦";else @me = "".@me;
-
{/dede:field}
当中的name=”就是需要判断的变量,是如果想在上边的代码中调用其他变量,怎么调用呢?
示例二
-
{dede:field name='array' runphp='yes'}
-
if(@me['source'] == "") @me = "@me['其它变量']";else @me = "来源:".@me['source'];
-
{/dede:field}
还有一种办法如下:用全局变量来解决这个问题:
-
{dede:php}$GLOBALS['xxoo']=$arc->Fields['fieldname']{/dede:php}
-
{dede:field.xxxx runphp="yes"}@me="test".@me."-test".$GLOBALS['xxoo'];{/dede:field.xxxx}
即,先开一个PHP的标签,把想赋的值替换给global变量。然后在另外的运行中将field值赋值给他。
当然更方便点可以封装成函数,这样就可以自由调用容易变量了,织梦判断当前字段是否有值,有显示反之不显示的函数封装,在织梦/include/extend.func.php 文件添加以下代码
-
/**
-
* 判断当前字段是否有值 有则显示,没有则不显示
-
* @param $var 字段变量
-
* @param $name 字段名称
-
* @return string
-
*/
-
function is_empty($var,$name){
-
if(!empty($var)){
-
$vars = $name.":".$var;
-
}else{
-
$vars= '';
-
}
-
return $vars;
-
}
调用方法如下:
-
{dede:field.jiage function="is_empty(@me,'价格')"/}
-
{dede:field.jiage runphp="yes"}@me = !empty(@me) ? "价格:@me" : "";{/dede:field.jiage}
本站承接WordPress主题安装、深度汉化、加速优化等业务,详询在线客服!