织梦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}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
dedecms教程

织梦DedeCMS分页最后一页加入下一篇链接新手教程

2020-12-26 16:20:24

dedecms教程

织梦DedeCMS手机站去除文章内容图片自适应

2020-12-28 10:20:23

!
你也想出现在这里?立即 联系我们吧!
信息
个人中心
购物车
优惠劵
今日签到
搜索