2019年のクライアントワークでよく利用した Craft CMS プラグイン

これは Craft CMS Advent Calendar 2019 25日目の記事です。
今年3月「Craft Plugin Store に登録されたプラグイン数が500を超えた」との公式アナウンスがありました。

500 Plugins! | Craft CMS
https://craftcms.com/blog/500-plugins

この数字を多いと感じるか、少ないと捉えるかは人それぞれだと思いますが、これだけあると個々に要・不要を判断していくのは大変ですよね。

そこで、今年携わったクライアントワークで実際に利用したプラグインをご紹介していきます。
もちろん、案件の規模や要件に依存するため実際には増減が生じるハズですが、少しでも参考になれば嬉しいです。

ユーティリティ

管理画面の操作に関するプラグインです。
Control Panel Body ClassesControl Panel CSSControl Panel JS は、管理画面の見た目の調整が必要な場合に導入しています。

Cloner

https://plugins.craftcms.com/cloner

次のエレメントの一覧画面に + アイコンが追加され、任意のものを複製できます。

  • セクション
  • 入力タイプ
  • グローバルセット
  • カテゴリグループ
  • タググループ
  • ユーザーグループ
  • ボリューム
  • 画像の変形

Craft CMS で入力タイプやセクションを複製したいときに使える Cloner プラグイン #craftcms | mersy note
https://note.mersy418.com/article/craftcms-cloner

Control Panel Body Classes

https://plugins.craftcms.com/cp-body-classes

管理画面の body タグに、閲覧中のページ属性に合わせた class を付加します。
これ自体を単体で導入することはなく、後述の Control Panel CSSControl Panel JS と組み合わせて利用することになります。

Craft CMS で管理画面に class を追加する Control Panel Body Classes を試してみた #craftcms | mersy note
https://note.mersy418.com/article/craftcms-control-panel-body-classes

Control Panel CSS

https://plugins.craftcms.com/cp-css

管理画面向けに独自のスタイル定義を追加できるようになります。
プラグイン設定のテキストエリア内にコードを加えたり、別途用意したファイルのパスを指定できます。

Control Panel CSS プラグインで管理画面の CSS を調整する #craftcms | mersy note
https://note.mersy418.com/article/craftcms-control-panel-css

Control Panel JS

https://plugins.craftcms.com/cp-js

管理画面向けに独自の JavaScript を追加できるようになります。
プラグイン設定のテキストエリア内にコードを加えたり、別途用意したファイルのパスを指定できます。

CP Field Inspect

https://plugins.craftcms.com/cp-field-inspect

管理画面の編集画面で、各フィールドのラベル右端に 歯車 アイコンが追加されます。
アイコンにカーソルを重ねるとフィールドのハンドルを確認できるため、テンプレートやプラグインなどで値を参照する際に重宝します。

また、アイコンをクリックすることでフィールドの編集画面に遷移できます。

Feed Me

https://plugins.craftcms.com/feed-me

データインポートに欠かせないプラグインです。

  • XML
  • RSS
  • ATOM
  • CSV
  • JSON

上記いずれかの形式で用意されたソースデータを利用し、次のエレメントの作成、更新、無効化、削除ができます。

  • エントリ
  • カテゴリ
  • アセット
  • ユーザー
  • タグ

Matrix を含む Craft CMS 標準フィールドに加え、Super Table など一部のサードパーティプラグインにも対応しています。

【Craft 3 サイト構築の基本】Feed Me プラグインを利用したエントリのインポート | BUN:Log
https://bunlog.dreamseeker.dev/import-entries-with-feedme-plugin

Field Labels

https://plugins.craftcms.com/fieldlabels

フィールドラベルのテキストをフィールドレイアウトごとに変更できます。
後述の Relabel プラグインと同等の機能のため、どちらにするかはお好みで。

  • 入力タイプ
  • アセット
  • グローバルセット
  • カテゴリグループ
  • ユーザー
  • ボリューム
  • タググループ
  • Craft Commerce
  • Neo フィールド
  • Solspace Calendar

Field Manager

https://plugins.craftcms.com/field-manager

個々のフィールドやグループ単位で複製したり、任意のフィールドのインポート・エクスポートが可能になるプラグインです。

どこにも紐づけられていないフィールドには Unused と表記されるため、カスタマイズの過程で不要になったフィールドの洗い出しにも役立ちます。

【Craft 3 サイト構築の基本】Field Manager プラグインを利用したフィールドの作成 | BUN:Log
https://bunlog.dreamseeker.dev/import-fields-with-fieldmanager-plugin

Relabel

https://plugins.craftcms.com/relabel

フィールドラベルのテキストをフィールドレイアウトごとに変更できます。
前述の Field Labels プラグインと同等の機能ですが、こちらはエレメントインデックス(一覧ページ)のリラベルにも対応しています。

  • 入力タイプ
  • アセット
  • グローバルセット
  • カテゴリグループ
  • ユーザー
  • ボリューム
  • Craft Commerce
  • Solspace Calendar

Queue Manager

https://plugins.craftcms.com/queue-manager

何らかの原因で途中停止したジョブキューをキャンセルしたり、再度実行したりできるマネージャです。

フィールドタイプ

フィールド編集画面のプルダウンで、特定の用途に最適化されたフィールドタイプを選択できるようになります。
RedactorSuper Table 以外は標準フィールドの組み合わせなどで実現できないこともないため、要件に応じて導入しています。

Linkit(イニシャル $39・ランニング $19/year)

https://plugins.craftcms.com/linkit

リンク設定向けのフィールドタイプを追加するプラグインです。
次のうち必要な項目を有効化することで、バリデーションが働いたり、登録済みのエレメントから選択できるようになります。

  • メールアドレス
  • 電話番号
  • URL
  • Twitter
  • Facebook
  • Instagram
  • Linked In
  • エントリ
  • カテゴリ
  • アセット
  • ユーザー
  • 製品(Craft Commerce)

Maps(Pro 利用時のみ:イニシャル $49・ランニング $19/year)

https://plugins.craftcms.com/simplemap

Google マップや OpenStreetMap などの外部サービスと連携した、座標データ向けフィールドタイプを追加するプラグインです。 有料となる Pro 版へのアップグレードで、利用可能なサービスが増えるなどの機能強化も図れます。

Redactor

https://plugins.craftcms.com/redactor

リッチエディタである Redactor 3 のフィールドタイプを追加するプラグインです。
関連するサポートプラグインがいくつか存在しますので、用途に応じて追加します。

Super Table

https://plugins.craftcms.com/super-table

表組み構造のフィールドタイプを追加するプラグインです。
用途に応じて TableRowMatrix と3タイプのレイアウトが選択できます。

また、Super Table 内の任意のフィールドとして Matrix フィールドを内包できるため、使い方次第で幅広いカスタマイズが可能です。

テンプレート

Dumper

https://plugins.craftcms.com/dumper

テンプレート内で専用タグを定義することで、特定オブジェクトの中身を確認できるようになります。

フォーム

Freeform(Lite:イニシャル $99・ランニング $49/year、Pro:イニシャル $159・ランニング $69/year)

https://plugins.craftcms.com/freeform

設定操作やテンプレートの調整に慣れは必要ですが、現状のいくつかあるフォーム管理系で一番使い勝手が良いと感じているプラグインです。
主な機能には下記の項目が含まれます。

  • フォーム管理
  • フィールド管理(Craft CMS とは独立したフォーム専用)
  • 通知メール管理
  • Google reCAPTCHA 対応
  • 受信データ管理
  • 受信データのエクスポート

なお、管理者宛の通知先メールアドレスをプルダウンなどの選択内容に応じて動的に変化させる dynamic recipients フィールド。
ユーザーカテゴリ などのエレメントと紐付けてプルダウンやラジオボタンの選択項目を動的に変化させる機能など、比較的柔軟なカスタマイズがプラグインの標準機能として提供されている点も便利です。

まとめ

今回ご紹介して改めて気づきましたが、ここ一年の自分が携わったクライアントワークで常時利用しているプラグインは10個程度でした。

そのうち有償なのはフォーム管理用の Freeform プラグインのみということで、Craft CMS 導入にあたっての最低限のコスト感をイメージしていただけるかと思います。

もちろん要件に応じてプラグインの自作もしますが、Craft CMS の標準機能でカバーできることが多いため、それほど沢山のプラグインを必要としないのも事実です。また、管理画面に対して混み入った調整をするのではなく、テンプレートをカスタマイズして必要最低限の操作が可能なオリジナルの管理画面を用意するという選択が可能なことも魅力と言えますね。

最後に、2020年1月16日(木)に Craft CMS Meetup Tokyo が開催されます。
ご都合よろしければ、ぜひご参加ください。

Craft CMS Meetup Tokyo vol.2 Craft CMS の実際のところ | Meetup
https://www.meetup.com/ja-JP/Japan-Craft-CMS-Meetup/events/267246837/