解决dedebiz文章页使用dede:php标签调用所有变量使用原生php开发
2025-04-15 15:50:06
SENxia.Me
A
+
A
-
SENxia.Me 2025-04-15 15:50:06 阅读

今天对dedebiz进行开发网站播放器的时候,遇到一个问题,文章页需要对多个条件判断字符串的来选择性输出内容

起先我想得很简单,直接用最粗暴的方法来实现

因为我要判断多个条件,{dede:field.mp3/}和{dede:field.typeid/}进行判断

{dede:field.mp3 runphp='yes'}@me=empty(@me)?'':'输出内容';{/dede:field.mp3}

上面这个方法就只能对单个条件判断显然行不能

于是想到了dedebiz支持php写法的{dede:php}这个标签,划重点来了

标签里面是不能直接获取到{dede:field.title/}、{dede:field.arcurl/}、{dede:field.body/}等之类的变量

我们只能通过 $refObj->Fields 来获取文章页的所有变量

{dede:php} print_r($refObj->Fields); {/dede:php}

通过以上原理发现所有的调用参数都在里面了$refObj->Fields['title'],$refObj->Fields['arcurl'],$refObj->Fields['typeid']等都可以得到值了

于是就能使用原生php代码进行开发了

{dede:php}
  if($refObj->Fields['typeid'] == 9 && !empty($refObj->Fields['mp3'])){
    echo '<div id="playermusic"></div><script>musicplay("'.$refObj->Fields["musicname"].'","'.$refObj->Fields["mp3"].'","'.$refObj->Fields["musicimg"].'");</script>';
  }
{/dede:php}

这样就完美的进行了原开php判断了!真心建议官方可以出一个标签手册,使用方法教程,新手还是很多标签不知道用法,会踩太多的坑了!

下面就是最后的开发效果了,实现不能栏目下的状态判断!

如需转载请注明出处。
本文地址:https://www.senxia.me/php/3.html

返回顶部