DataAPIのレスポンスを静的なJSONとして出力させる DataAPIResponseOutput 1.0.0 リリース

Posted on:2020-12-24

気づいたら、今日クリスマスイブですね。もう休みの感覚すぎて仕事のモチベがあまりないけどきちんと仕事しています。今日で仕事納め予定。
ということできちんと仕事の効率化させるために今年最後のプラグインを作りました。
DataAPIのレスポンスを静的なJSONとして出力させるプラグインになります。

MTのテンプレートタグから必要なエンドポイントの情報やパラメータを付与することでDataAPIの出力結果をJSONとして出すことができます。

いままではテンプレートに to_json して作ってたんですが、やはり自由に改変できるメリットは高いものの書くのがいつもシンドいなって思っていました。(時短したい)
他にもプラグイン入れることで軽減できますが、取り出すためにブロックで囲ったりする必要があったりと自分としての感覚的に少し違うかなと思いました。
とりあえずエンドポイント投げたら、返ってきた情報をそのまま静的にだすというくらいが使いやすいかなと思い書いてました。
あいかわらずPerl初心者なんで、あっているかよくわかってないです。とりあえず動いた感じになります。

使い方は、GithubのReadmeに掲載しておきます。
このエンドポイント投げるだけプラグインのいいところは、別MTのDataAPIも拾って出力できる点かなと思っています。
DataAPICORSAllowOrigin 制限解除や別MTのDataAPIの許可は必要です
以下の書き方で、指定した endpointparam を付与するだけで必要な情報を取り出せます。( idurldata_api の値は初期値は自分自身のサイトを参照します)

<mt:DataAPIResponseOutput
  id="1"
  url="https://example.com/"
  data_api="/cgi-bin/mt/"
  version="4"
  endpoint="/sites/{site_id}/entries"
  param="?limit=10"
/>

今後はプラグインいれてもいい案件やJSONが必要なときに自分は使っていこうかと思っています。
JSON書いてる時間なかったり、フロントの制御だけに注力したいときに使ってみてはいかがでしょうか。