最新公告

    Sorry, no posts matched your criteria.

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

作者 : 黑域吧 本文共950个字,预计阅读时间需要3分钟 发布时间: 2020-08-12 共1.07K人阅读

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}
提示:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!邮箱:(332547532@qq.com)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
黑域吧资源网 » DedeCMS判断当前字段是否有值并输出

发表评论

现在加入黑域吧资源网,