关于 Kirby CMS 的模板和 object 问题

About template and object problems with Kirby CMS

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

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

kirby方法(如"$page->title()")的用法很简单:

echo $page->title();

并且它可以return当前页面的标题(例如“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;
  }

这是我的第一个post.I我是一名中国高中生,也是一个博客和代码lover.I在中国的一些网站上很难提出这样的问题,所以我来Stack Overflow.Please 帮助我解决任何错误(不仅是编程错误,还有英语语法错误,因为我也在学校学习英语) post, 作为菜鸟 我当然会很感激!希望能尽快推出一个简单的解决方案,并在 Stack Overflow 中长期存在。

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

如果替换此代码

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

到这个

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

在这种情况下

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

结果是否return正确但是否使用了 id?

找到出路了,只需要加上类型就可以了:

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