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