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}@[email protected].$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}

相关文章

织梦模板建站更换logo的操作步骤:1.找到logo图片所在文件位...
织梦更适合企业建站,织梦拥有大量免费的漂亮模版,简单易用...
在织梦中设置404页面的方法1.进入织梦网站后台管理界面,在界...
解决织梦系统漏洞的方法有以下几种1.将data、templets、uplo...
织梦网站漏洞的解决办法:1.删除install安装目录。2.定期进行...
修改织梦建站变默认路径的方法:1.进入织梦cms;2.选择“系统...