SOY CMSでブログ記事JSON出力プラグインを作成しましたの記事で紹介したブログ記事JSON出力プラグインを使用している方からこのプラグインだけで記事の出力を完結できるようなJSONの出力であって欲しいという連絡がありましたので、対応してみました。


完結に必要な条件というのは、

・記事のパーマネントリンク

・本文の一部、もしくは冒頭数文字

・サムネイル画像のパス

・カスタムフィールドの値

があり、これらをJSONの出力時にGETパラメータで出力の有無を指定できるようにしました。

上記の値の追加により他サイトブロックのような重い処理を使わずに他サイトの記事一覧を出力できるようになります。


例えば、URLがhttps://example.comでサイトIDがsite、ブログページのIDが1の場合、

https://example/site/1.json?limit=1&content=50&is_url=1&thumbnail

のようなURLにしてブラウザのアドレスバーに入力すると

{
  "total": 4,
  "is_next": 1,
  "entries": [
    {
      "id": 5,
      "title": "記事タイトル",
      "alias": "記事のエイリアス",
      "cdate": 記事の作成日時のタイムスタンプ,
      "udate": 記事の更新日時のタイムスタンプ,
      "content": "記事本文の先頭から50文字",
      "url": "パーマネントリンク",
      "thumbnail": {
        "thumbnail": "サムネイル画像のパス",
        "trimming": "リサイズ前のサムネイル画像のパス",
        "upload": "サムネイル用にアップロードした画像のパス"
      }
    }
  ]
}

のようなJSONの値が返ってくるようになります。

出力できる値の指定方法はプラグインの詳細画面をご覧ください。


後はJavaScriptのDOMで取得したJSONから記事一覧を作成すれば良いです。

今回の値の追加をcms:idで出力したいという要望もありましたが、その機能はこれから開発します。


今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。

https://saitodev.co/soycms/