連載 :
Concrete5を試そう!テーマを完成させる
2009年3月25日(水)
ページレイアウトの仕組み
新しいページレイアウトを作るとは一体どういうことででしょうか?
これは、簡単に言ってしまうと、ブロックを配置できるエリアを自分で自由に作るということです。ここまでは用意されていた3種類(全幅、左サイドバーのあるページ、右サイドバーのあるページ)しかなく、それを使うしかありませんでした。また、Header Nav、Header、Main、Sidebarの4カ所にしかブロックを配置できませんでした。
しかし、新しいレイアウトを作ることで、ブロックを自由に配置できるようになります。今回の連載の中で一番難しくもあり、やりがいのあるところでもありますので、ぜひ挑戦してみてください。
と言っても、手順さえ覚えてしまえばとても簡単で、テーマフォルダの中にPHPファイルを作るだけです。
問題はその中身です。まずは、現在ある右にサイドバーのあるページがどうなっているのかを確認するために、default.phpを見てみましょう。7行目から21行目までにある部分がなんだか怪しそうです。その中から一部抜粋します。
実はこのDIVの中身こそがブロックが入ってくるエリアです。軽く説明するとnew Area('Sidebar');のSidebarの部分がページを編集するときにブロックを追加するエリアに出てる「Sidebarに追加」に対応します。このsidebarの部分にはかぶらないように好きな名前をつけます。
また、$as->display($c);はおまじないだと思いましょう。今回は、こうするとブロックが追加できるエリアができるとだけ覚えておいてください。さらに詳しく知りたい方は、concrete/models/area.phpとconcrete/libraries/views.phpの2つのファイルを読んでみると良いでしょう。
ページレイアウトを作る
では実際に作ってみましょう。一から作るのも良いのですが、元からあるファイルをコピーして作っていきましょう。default.phpをコピーして、original.phpを作成します。今回は、サイドバーとボディーの上にぶち抜きのエリア「eyecatch」を作ってみましょう。
作業としてはすごく簡単です。
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。