关于Kirby CMS

时间:2017-04-21 11:30:31

标签: php kirby

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

在名为" article.php"的模板文件中;在kirby中,我想将值(例如" $ 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.Please帮我任何在我的任何帖子中,错误(不仅是编程错误,还有我在学校学习英语的英语语法错误),作为菜鸟我显然很感激!希望有一个简单的解决方案出来很快,在Stack Overflow中也很长时间。

2 个答案:

答案 0 :(得分:0)

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

如果您替换此代码

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

到这个

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

在这种情况下

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

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

答案 1 :(得分:0)

找到了出路,只需添加类型即可:

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