QQ爹の博客 QQ爹の博客

让 typecho 生成JSON 输出

in Typecho read (1195) 文章转载请注明来源!

关键代码出处

晴天博客:http://www.qt06.com/thread-3500.htm

修改说明

因为源代码输出的文章,不能一次性输出全部文章,而且会把置顶文章当成第一篇文章输出了。
所以我修改了下,让其一次性输出全部文章,也可以通过修改代码钟的数字进行可控制数量的输出

最终代码

将下面代码添加到 typecho 头部模版的开头即可实现简单的 JSON 输出
头部模版一般位于
usr/themes/default/header.php
可以查找到:
<!DOCTYPE html>
在这一行的前面添加下面的代码:

<?php
if (stripos($this->request->getRequestUri(), 'json')) {
    $arr = array();
$this->widget('Widget_Contents_Post_Recent', 'pageSize=10000')->to($archives);
    while ($archives->next()) {
        $a = array('title' => $archives->title, 'date' => $archives->date->format('Y-m-d'), 'content' => $archives->content, 'tags' => $archives->tags,'permalink' => $archives->permalink,);
        $arr[] = $a;
    }
    $this->response->throwJson(array("servererror" => "", "status" => 1, "message" => $arr));
}
?>

添加完访问http://你的域名/?json即可看到效果

补充说明

放首页感觉影响效率,其实改代码放到独立页面模板上边也可以,比如新建个独立页面模板专门用来生成json,这样就不会影响了。
还有就是代码钟的10000可以改成自己实际需要文章的数量,写10000只是为了方便输出全部文章。

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

typechojson
最后由Jrotty修改于2017-06-18 15:57
发表新评论
已有 13 条评论
  1. chanywn
    chanywnWindows 10谷歌浏览器 回复

    留下脚印

  2. Stephen
    StephenWindows 10谷歌浏览器 回复

    天,为啥我看不懂。。。

  3. 没名字
    没名字Android M小米浏览器 回复

    那岂不是可以更方便地把博客做成客户端

    1. Jrotty
      Jrotty本文作者Windows 10谷歌浏览器 回复

      @没名字 也许吧,我觉得搬运文章方便了很多

  4. 无限啸傲
    无限啸傲Windows 10谷歌浏览器 回复

    那么 从哪里可以买到这个能调戏你的功能呢

    1. Jrotty
      Jrotty本文作者Windows 10谷歌浏览器 回复

      @无限啸傲 电脑端点击上边打赏按钮,手机端不用操作,然后会看到两个二维码,根据下方文字提示用相应的APP,扫码,然后把自己的余额毫不保留的输入进去,然后输入密码点击确定即可。

      1. 无限啸傲
        无限啸傲Windows 10谷歌浏览器 回复

        @Jrotty 默默地看下了我的余额 0.11.这是我今天的食粮.都给你了

  5. 王忘杰
    王忘杰Windows 10谷歌浏览器 回复

    那么 从哪里可以买到呢

    1. Jrotty
      Jrotty本文作者Windows 10谷歌浏览器 回复

      @王忘杰 没理解你的文字叙述,请重新输入条理清晰的指令

  6. 初夏小朋友
    初夏小朋友Android N谷歌浏览器 回复

    有没有json评论的???

    1. Jrotty
      Jrotty本文作者Windows 10谷歌浏览器 回复

      @初夏小朋友 没有哦,评论这里我理解的很弱

前篇 后篇
雷姆
拉姆
音乐加载中...
0:00