首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExpressionEngine插件返回json数据

ExpressionEngine插件返回json数据
EN

Stack Overflow用户
提问于 2012-07-23 23:33:09
回答 2查看 827关注 0票数 1

在我使用的插件中:

代码语言:javascript
复制
$this->return_data = json_encode(array('loggedin' => $LoggedIn, 'Cust_ID' => $Participant_ID));

在模板中,我这样调用它

代码语言:javascript
复制
$custinfo = {exp:user_loggedin};

它以如下方式返回它:

代码语言:javascript
复制
$custinfo = {"loggedin":"no","Cust_ID":-1};

我得到了这个错误:

代码语言:javascript
复制
PHP Parse error:  syntax error, unexpected '{' in expressionengine/libraries/Functions.php(642) : eval()'d code on line 656

如果我使用

代码语言:javascript
复制
$custinfo = json_decode({exp:user_loggedin})

我得到了这个错误:

代码语言:javascript
复制
PHP Parse error:  syntax error, unexpected '{', expecting ')' in expressionengine/libraries/Functions.php(642) : eval()'d code on line 656

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-24 00:30:04

我猜你需要引用你的变量:

$custinfo = "{exp:user_loggedin}";

票数 0
EN

Stack Overflow用户

发布于 2012-07-24 03:50:55

我认为你有一个解析顺序问题和引用问题的组合。

假设您正在处理输出上的PHP。

  1. 插件将运行
  2. ,然后运行常规EE代码
  3. ,最后运行

Derek,认识到引用问题,建议:

代码语言:javascript
复制
$custinfo = "{exp:user_loggedin}";

但是,在阶段3中,这不会转换为以下代码吗?

代码语言:javascript
复制
$custinfo = "{"loggedin":"no","Cust_ID":-1}";

这看起来像是有效的PHP代码吗?对我来说不是。

您要么必须转义这些引号,要么使用HEREDOC或其他…

代码语言:javascript
复制
$custinfo = <<<HEREDOC
{"loggedin":"no","Cust_ID":-1}
HEREDOC;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11615720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档