QQ爹の博客 QQ爹の博客

让 typecho 生成JSON 输出

in Typecho read (657) 256汉字 文章转载请注明来源!

关键代码出处

晴天博客: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

支付宝打赏

文章二维码

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

发表新评论
已有 13 条评论
  1. chanywn
    chanywn
    回复

    留下脚印

  2. Stephen
    Stephen
    回复

    天,为啥我看不懂。。。

  3. 没名字
    没名字
    回复

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

    1. Jrotty
      Jrotty本文作者
      回复

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

  4. 无限啸傲
    无限啸傲
    回复

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

    1. Jrotty
      Jrotty本文作者
      回复

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

      1. 无限啸傲
        无限啸傲
        回复

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

  5. 王忘杰
    王忘杰
    回复

    那么 从哪里可以买到呢

    1. Jrotty
      Jrotty本文作者
      回复

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

  6. 初夏小朋友

    有没有json评论的???

    1. Jrotty
      Jrotty本文作者
      回复

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

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