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}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。