2019-03-30

Craft CMS の Element API プラグインを試してみる

Craft CMS の API をつかってみてあれこれやってみようとおもってるので、とりあえず触ってみる。

Going Headless | Craft 3 Documentation
https://docs.craftcms.com/v3/d...
ヘッドレス化 | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

Plugin Store からインストール

プラグインストアで検索すれば Element API プラグインが出てくるのでインストールする

とりあえず

craftcms/element-api: Create a JSON API/Feed for your elements in Craft.
https://github.com/craftcms/el...

を見て作っていくわけだが、これを毎回やってくのはしんどいのかなー。。。
もっと勉強しないと。

MT みたいにとりあえず Endpoint があるのがありがたいけど、まぁ用意されてる物が無いときにPerlで作るのがいいか、PHPで作るのがいいか、という話か。

ドキュメントを参考に用意する

ドキュメントを参考に config/element-api.php を用意して、今回は article というセクションについて必要そうなので

<?php

use craft\elements\Entry;
use craft\helpers\UrlHelper;

return [
 'endpoints' => [
 'article.json' => function() {
 return [
 'elementType' => Entry::class,
 'criteria' => ['section' => 'article'],
 'transformer' => function(Entry $entry) {
 return [
 'title' => $entry->title,
 'url' => $entry->url,
 'jsonUrl' => UrlHelper::url("article/{$entry->id}.json"),
 // 'summary' => $entry->summary,
 ];
 },
 ];
 }
 ]
];
?>

こんな感じで用意してみる。

https://note.mersy418.com/article.json

でアクセスしてみるとこんな感じで返ってくる。


なるほどなるほど。ここまではドキュメントにあるとおりでいけるかんじか。

丸見え状態。