人気のレンタルサーバー「カラフルボックス」に Craft CMS をインストールし、サイトを公開するまでの手順をステップ・バイ・ステップで連載します。
これは Craft CMS Advent Calendar 2019 の5日目の記事です。
今日から、今イチオシの CMS である Craft CMS について「名前は聞いたことがあるけど、まだ触ったことがない」という人向けに、人気急上昇中の高機能・高品質な高速レンタルサーバー「カラフルボックス」を使って、インストールからサイトの公開まで一通りステップ・バイ・ステップでご紹介していこうと思います。
その前に、Craft CMS について簡単にご紹介します。
Craft CMS とは、海外では人気急上昇中の PHP ベースの CMS です。ベースのフレームワークには Yii 2 フレームワークを採用しています。アメリカの Pixel & Tonic 社によって開発が進められています。
これまで、アメリカ、ドイツ、オーストラリア、カナダなど、世界各地で Dot All(または Dot One)という名でイベントが開催されており、その注目度の高さが伺えます。
Craft CMS の特徴として挙げられるのは「自由度の高さ」「拡張性の高さ」です。
Craft CMS には、他の CMS が初めから用意する「ページ」「記事」「投稿」といった概念はありません。それらはすべて自分で自由に設計することができます。
Craft CMS ではこれらを総称して「エントリ」といいます。つまり「ページ」として使うエントリ、「記事」として使うエントリから、「書籍」「製品」「サービス」として使うエントリまで、すべて自分で思うままに設計することができます。僕もこれまでは「投稿」や「記事」を「〇〇情報として使おう」という考え方で設計してきましたが、Craft CMS ではその必要はありません。
この「自由度の高さ」は Craft CMS の最大の特徴の一つと言って良いでしょう。もう CMS が用意した概念にとらわれる必要はなくなります。
さらに、初期状態ではエントリにはタイトルフィールドしかありません。自分でフィールドを定義していき、「書籍」にはこのフィールド、「製品」にはこのフィールド、と割り当てていくことができます。
デフォルト状態のフィールドの種類も豊富で、さらにプラグインで拡張することもできます。
WordPress や Drupal、Movable Type のような他の CMS と同様、プラグイン、モジュールで拡張することができます。Craft Plugin Store には沢山のプラグインが公開されています。また、これらのプラグインを管理画面で検索し、ワンクリックで簡単にインストールすることができます。
もちろん、自分で開発することも可能です。日本語ドキュメントも @BUN さん のお陰でかなり充実していますし、Craft CMS 自体が Yii 2 のお作法に則っていますので、「Yii 2.0 決定版ガイド」のドキュメントも参考になります。プラグインのひな形は pluginfactory.io で簡単に作ることができます。
もちろんプラグインを作ることは簡単ではありませんが、PHP なので敷居は低いでしょう。
スッキリしたコントロールパネル(管理画面)は整理されていてとても扱いやすく、上記で述べたように「記事」を「〇〇ということにして使う」という無理をする必要はないので迷うことが少ないです。
また、フロントエンドからちょっとしたコントロールパネルを作ることもできるので、〇〇に特化した投稿・更新画面など、比較的少ない工数で作成できます。
これらの特徴は運用担当者にとって強い見方でしょう。
これは一見、デメリットのようにも思えますが、実は大きなメリットでもあります。
デフォルトのテーマをカスタマイズするというケースを考えてみたとき、仕上がりがそのテーマにほぼ近いもので良ければ簡単かもしれませんが、そうでない場合はまず編集する場所を見つけ、ロジックを含む場合はそれを理解し、他に影響が出ないようにカスタマイズする必要があります。
これらの作業は、カスタマイズするテーマに精通していれば楽かもしれませんが、そうでない場合は意外と大変な作業です。
一方、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 をインストールしてみたいと思います。