0

在尝试为我用kirby cms构建的博客编写 API 时,我遇到了一些难题。

在 kirby 中名为“article.php”的模板文件中,我想将值(例如“$page->title()”)放入数组中,以便使用函数“json_encode()”来呈现 json 结果然后输出。

kirby 方法(例如“$page->title()”)的用法很简单,如下所示:

echo $page->title();

它可以返回当前页面的标题(例如“titleOfThisPage”)。我认为(可能是错误的,因为我是菜鸟)该值也可以通过如下方式传递给数组:

$title = array(
"name" => "title",
"value" => $page->title()
);

但不幸的是,它不能正常工作。

您能否告诉(或教)我出了什么问题,我该如何实现目标?

这里附上原始代码:

if($_REQUEST['get'] == "id")
  {
    $json_array = array(
    "status" => "success", 
    "id" => $page->id(), 
   );
   $json_output = json_encode($json_array);
   echo $json_output;
   exit;
  }
  elseif($_REQUEST['get'] == "title")
  {
    $json_array = array( 
    "status" => "success",
    "title" => $page->title(),
   );
   $json_output = json_encode($json_array);
   echo $json_output;
   exit;
  }

这是我的第一篇文章。我是一名中国高中生,也是一个博客和代码爱好者。我发现在中国的一些网站上很难问这样的问题,所以我来到 Stack Overflow。请帮助我解决任何错误(不是只有编程错误,还有英语语法错误,因为我也在学校学习英语)在我的任何帖子中,作为一个菜鸟,我显然会很感激!希望很快就会有一个简单的解决方案,并在 Stack Overflow 中长寿。

4

2 回答 2

0

你有方法 $page->title() 吗?

如果您替换此代码

"title" => $page->title(),"

对此

"title" => $page->id()," 

在这种情况下

elseif($_REQUEST['get'] == "title")

它是否返回正确的结果但是否使用 id?

于 2017-04-21T11:45:17.690 回答
0

找到了出路,添加类型就可以了:

  elseif($_REQUEST['get'] == "title")  
  {
    $json_array = array(
     "status" => "success",
     "title" => (string)$page->title(),
   );
   $json_output = json_encode($json_array);
   echo $json_output;
   exit;
  }
于 2017-05-29T01:56:04.350 回答