• Home
  • Craft CMS
  • カラフルボックスで始める - はじめての Craft CMS (1) 「Craft CMS の特徴」

カラフルボックスで始める - はじめての Craft CMS (1) 「Craft CMS の特徴」

これは Craft CMS Advent Calendar 2019 の5日目の記事です。

今日から、今イチオシの CMS である Craft CMS について「名前は聞いたことがあるけど、まだ触ったことがない」という人向けに、人気急上昇中の高機能・高品質な高速レンタルサーバー「カラフルボックス」を使って、インストールからサイトの公開まで一通りステップ・バイ・ステップでご紹介していこうと思います。

その前に、Craft CMS について簡単にご紹介します。

Craft CMS とは?

Craft CMS とは、海外では人気急上昇中の PHP ベースの CMS です。ベースのフレームワークには Yii 2 フレームワークを採用しています。アメリカの Pixel & Tonic 社によって開発が進められています。

これまで、アメリカ、ドイツ、オーストラリア、カナダなど、世界各地で Dot All(または Dot One)という名でイベントが開催されており、その注目度の高さが伺えます。

Craft CMS の特徴として挙げられるのは「自由度の高さ」「拡張性の高さ」です。

Craft CMS の自由度の高さ

Craft CMS には、他の CMS が初めから用意する「ページ」「記事」「投稿」といった概念はありません。それらはすべて自分で自由に設計することができます。

Craft CMS ではこれらを総称して「エントリ」といいます。つまり「ページ」として使うエントリ、「記事」として使うエントリから、「書籍」「製品」「サービス」として使うエントリまで、すべて自分で思うままに設計することができます。僕もこれまでは「投稿」や「記事」を「〇〇情報として使おう」という考え方で設計してきましたが、Craft CMS ではその必要はありません。

この「自由度の高さ」は Craft CMS の最大の特徴の一つと言って良いでしょう。もう CMS が用意した概念にとらわれる必要はなくなります。

さらに、初期状態ではエントリにはタイトルフィールドしかありません。自分でフィールドを定義していき、「書籍」にはこのフィールド、「製品」にはこのフィールド、と割り当てていくことができます。

デフォルト状態のフィールドの種類も豊富で、さらにプラグインで拡張することもできます。

Craft CMS の拡張性の高さ

WordPress や Drupal、Movable Type のような他の CMS と同様、プラグイン、モジュールで拡張することができます。Craft Plugin Store には沢山のプラグインが公開されています。また、これらのプラグインを管理画面で検索し、ワンクリックで簡単にインストールすることができます。

もちろん、自分で開発することも可能です。日本語ドキュメント@BUN さん のお陰でかなり充実していますし、Craft CMS 自体が Yii 2 のお作法に則っていますので、「Yii 2.0 決定版ガイド」のドキュメントも参考になります。プラグインのひな形は pluginfactory.io で簡単に作ることができます。

もちろんプラグインを作ることは簡単ではありませんが、PHP なので敷居は低いでしょう。

スッキリした UI のコントロールパネルはサイト運営者の強い味方

スッキリしたコントロールパネル(管理画面)は整理されていてとても扱いやすく、上記で述べたように「記事」を「〇〇ということにして使う」という無理をする必要はないので迷うことが少ないです。

また、フロントエンドからちょっとしたコントロールパネルを作ることもできるので、〇〇に特化した投稿・更新画面など、比較的少ない工数で作成できます。

これらの特徴は運用担当者にとって強い見方でしょう。

デフォルトのテンプレートがない

これは一見、デメリットのようにも思えますが、実は大きなメリットでもあります。

デフォルトのテーマをカスタマイズするというケースを考えてみたとき、仕上がりがそのテーマにほぼ近いもので良ければ簡単かもしれませんが、そうでない場合はまず編集する場所を見つけ、ロジックを含む場合はそれを理解し、他に影響が出ないようにカスタマイズする必要があります。

これらの作業は、カスタマイズするテーマに精通していれば楽かもしれませんが、そうでない場合は意外と大変な作業です。

一方、Craft CMS にはデフォルトテーマはありませんので、デザイナーさんとHTMLコーダーさんから上がってきた HTML を Twig というテンプレートに変えていく形になります。したがって、デザインもHTMLも、CMS にとらわれることなく自由に組み上げることができます。

テンプレートの自由度がかなり高い

Craft CMS は、API がしっかりしていて、かなり柔軟に、そして楽に情報を取り出すことができます。例えば、期間で絞り込んだり、特定のフィールドの値で絞り込んだり、並び順を変えたりなど自由自在です。

中級者になると Twig テンプレートで SQL を書くような感覚で、かなり複雑なこともできるようになります。だからといってテンプレートに直接 SQL 文を書くわけではなく、あくまで Twig テンプレートを書くだけです。

情報の関連付けが自由

これも Craft CMS の大きな特徴の一つと言えますが、情報の関連付けがとても柔軟です。

例えば、エントリにエントリを関連付ける、エントリにカテゴリを関連付ける、エントリに画像を関連付ける、画像にエントリを関連付ける、など自由に設定できますし、それを双方向から取り出すことができます。

マトリックスフィールド(行列フィールド)が最高に便利

Craft CMS にはマトリックスフィールド(日本語では行列フィールド)という強力なフィールドが用意されています。

これは、1つ、または複数のフィールドを組み合わせた「ブロック」を自由に定義して、エントリ入力画面では、それらのブロックをいくつでも追加したり、並べ替えたりすることができます。

言葉では説明しにくいですが、例えば「画像+テキスト」のブロックを作ったり、FAQ 用に「質問+答え」のブロックを作って FAQ を増やしていったり、かなり柔軟なことができます。


今回は簡単ですが Craft CMS の紹介でした。次回は、さっそく ColorfulBox に Craft CMS をインストールしてみたいと思います。