concrete5 Japan Advent Calendar 2014の12日目の記事を書かせていただきます。
前回はいつも素敵なpictron2009さんの「concrete5は、デザイナーが運用をデザインできるオープンソースCMS」という内容でした。
普段はWordPressのコミュニティに参加しており、そこでコンクリートファイブジャパン株式会社のhissyさんとお知り合いになり、concrete5の存在を知りました。
なぜ興味を持ったか、私はプログラムが書けないからです。
コードをゴリゴリ書けなくても、思ったとおりのサイトが作れる、そんなウワサを耳にして、なんだそれは、私のためのCMSか!と思ったしだいです。
興味はあったものの、大阪で開かれている勉強会に一度参加した後は特にconcrete5にふれることもなく時が過ぎてしまい、concrete5を使いたい案件が出てきたため、急いで勉強をすすめようと思っている、まだ一回も実際にconcrete5でサイトを作ったことのない超初心者です。
そんなおり、concrete5×サーバーセキュリティ勉強会という勉強会に参加した時に、運良くジャンケンに勝ち、「concrete5公式活用ガイドブック」をいただきました。
普段ジャンケンとかめっちゃ弱いし、くじ運とかいいほうでもないのに、これは神のお導きか…!神様ありがとう…!
…ということで、まだ初心者というか全然concrete5にさわっていない私が何を書こうか迷ったのですが、「書評」を書かせていただくことにしました。
書評とかめっちゃえらそう…。わぁ、そうなんだーとか、疑問に思ってたことが解決されたーとか、その程度の内容です。すみません(;´Д`)
公式活用ガイドブック白黒で見づらくね?問題
本屋で何度となく手にとって迷っていたので、書籍がオール白黒というのは知っていました。
パラパラーっと見て、白黒かー見づらそうだなぁと正直思っていました。
結果、全然問題なし。偏見もっててすいません。普通にわかりやすい。
実は読むのに1日しかかけてません…Chapter04までしかちゃんと見れてませんすみません(;´Д`)
でも1日である程度理解できたなと思えるほどあの本はスゴイ。
たぶん、ここはわからなくなるところだなぁというところをしっかりフォローしてくれていると思います。
Chapter04はオリジナルテーマの作成なのですが、そこから少し難しくなります。
ですがつまづきやすいところをあらかじめ書いてくれているなという配慮が感じられます。
カラーである必要性は特に感じませんでしたね。
この本があればググらなくてもサクッと作れる…と思う
インストールから、concrete5の主要な機能、アドオンについて、オリジナルテーマの作り方、ゴリゴリ開発できる人のために機能解説…。
最初から最後までスーッと読んでいくだけですんなりサイト制作できると思います。
これもらえたのほんとによかったです…。たぶんもらってなかったら絶対買ってます。
読んでいく中で、私が知らなかったことや気になっていたことを少しご紹介します。
concrete5の構造について
サイト全体のデザインをテーマと呼びます。(テーマはページごとに変えられます)
テーマの中にはconcrete5の名前のとおり、ブロックを積み上げてサイトを作っていくのですが、そのブロックを配置する場所を「エリア」と呼びます。
エリアには通常のエリアの他に「グローバルエリア」と呼ばれるエリアがあります。
グローバルエリアとは、各ページ共通で変わらない場所に使用します。ヘッダーやフッターなどがそうですね。
concrete5は各ページごとに自由に作成できるのが素敵なところですが、共通部分はこのグローバルエリアにすることで何度も同じブロックを作成する必要がなくなります。
また、サイドバーにブログページ以外はバナーを表示しておきたいとかありますよね。
共通して表示したいブロックの集合体?を作成することができ、それをスタックと言います。好きなエリアにスタックを追加できます。便利。
そしてブロックにはたくさんの種類(ブロックタイプ)があり、これがconcrete5の醍醐味と言えます。オートナビブロック、記事ブロック、フォームブロック、画像ブロック…。
こちらは書籍でたいへん詳しく解説されています。
ひとつ忘れていました。各ページは必ず「ページタイプ」を選択する必要があります。
右サイドバー、左サイドバー、全幅などページごとに構造の異なるページを作成できます。
WordPressでいうページテンプレートみたいな感じでしょうか。
オリジナルテーマの作成について
書籍ではHTMLで作られた元データをテーマ化する方法が丁寧に説明されています。
テーマ化はそこまで難しくなく、決められたPHPコードを記述するだけです。
WordPressと同じように、headerやfooterの共通部分のPHPファイルを切り出し、各ページはそれぞれエリアにしたい部分のHTMLを削除してPHPを書きます。サイトの側(がわ)と言うんでしょうか、それを作ります。
で、この状態ではまだテーマをインストールしても画面は何も表示されません。
テーマで指定しておいたエリアにブロックを配置していきます。
書籍では説明しきれていないとのことで、hissyさんが、動画に収めてくださっています。
hissyさんの声が心地よすぎて、寝てしまうのに注意w
動画でもおっしゃっていますが、ブロックをポチポチ設定していくだけでは、デザインがうまく反映されていない部分が出てきます。
オートナビブロックやページリストブロックなど、動的に生成されるよう設定している部分は当然ですがCSSが当たっていないのでうまく表示されません。
これ、どうするのかなぁとずっと思ってたんですが、「カスタムテンプレート」というものを作成するそうです。
ブロックの編集でカスタムテンプレートというのを選択できるのですが、オリジナルテーマにあったテンプレートはないので、自分で作成します。
ちょっと(私には)難しい内容だったのですが、既存のブロックタイプのデフォルトテンプレートをコピーし、オリジナルテーマのマークアップに合ったクラス名に変更するなどしてカスタマイズします。そしてユーザー領域に保存することでコア領域のファイルを書き換えることなく優先的に読み込ませます。(オーバーライド)
ここさえクリアすればめちゃくちゃ簡単にオリジナルテーマが作れるなという印象でした。
え…デフォルト機能がすごい!
concrete5はユーザー権限を自由に設定できます。
「新着更新担当」が新着更新に関するところしかさわれない、とかいうことができます。この柔軟な権限設定で会員制サイトを作ることもできます。
キャッシュの設定やブルートフォースアタックへの対策など、こんなことまで…というような素晴らしい機能を管理画面から普通に設定できます。
サイト(プロジェクト)とアドオンの管理がマーケットプレイスでできる
自分のプロジェクトの一覧が見れたり、プロジェクトの管理ユーザーを追加できたり、有料のアドオンやテーマの適用などができたりするみたいです。
更新をお客さん自体が行う場合など、納品後権限をまるっと移管するのこともできるとのことです。
ちなみに有料アドオンやテーマは、ひとつ使うごとに1回ずつ料金が発生するものが多いとのこと。なので5個パックとかお得なセットが販売されているそうですw
最後に
concrete5公式活用ガイドブック、買いたくなったと思います!!!w
盛りだくさんすぎて全然いいところ言えてない感満載なのですが、これからこちらを活用して、どんどんconcrete5でサイトを生み出していきたいと思っています。
ここまで細かく本をまとめあげた著者の皆様本当にありがとうございます。
5.7対応の新書籍が出ることを祈り、また出た際は今度は自分で購入させていただきたいと思います(・∀・)
次はyuri.kamimoriさんです!