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}总结
以上是内存溢出为你收集整理的DedeCMS判断当前字段是否有值并输出全部内容,希望文章能够帮你解决DedeCMS判断当前字段是否有值并输出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)