テーマを完成させる

2009年3月25日(水)
得上 竜一

テーマとは

 Concrete5のテーマとは、ページのレイアウトやヘッダーやフッターなどが集まったファイルです。

 ブロック以外のHTML部分、画像、CSSのすべてを含んでいます。このテーマを上手に作ることでConcrete5がオリジナルのサイトになっていきます。実は、オリジナルのテーマは前回(http://thinkit.jp/article/880/1/)作成しました。今回はそこにさらに手を加えて形を変えていきましょう。

 今回も「example」を編集します。まず、ファイルの説明をしていきましょう。ページの大枠が書かれているファイルは、レイアウトによって異なります。full.php、left_sidebar.php、default.phpが全幅のページ、左サイドバーのページ、右サイドバーのページとなっています。これらのファイルからヘッダーや、#bodyの中の部分(先週のHTMLの構成を参照してください)、フッターが呼び出されてページ全体が構成されます。ヘッダーとフッターはelementsフォルダの中にあるheader.php,footer.phpがそれぞれ対応しています。

ロゴとサイト名の変更

 まずは、ロゴイメージに変えてみましょう。変えるにはちょっとだけPHPの知識が必要ですが、これを機会にちょっとだけかじってみるのも良いでしょう。それでは早速、サイト名を消してロゴを表示しましょう。

 編集するファイルは、elementsの中にあるheader.phpです。ファイルを開いて見るとHTMLの中にがたくさんあるのがわかります。

 こので囲まれた部分が自動で生成される部分で、それ以外が固定で出力される部分です。目的のサイト名は、32行目がサイト名を表示している部分です。



 この行のとなっているところが怪しいです。試しに「サイト名が変わるかテスト」に書き換えてアップロードしてみましょう。サイトを見てみると、今までサイト名が入っていたところが「サイト名が変わるかテスト」に変わっています。

 それでは本題のロゴイメージに変更していきましょう。ロゴマークのファイル名は「logo.png」としてexample/images/の中にアップロードしておきます。Concrete5を「/」にインストールした場合は、/example/images/logo.pngと、ファイル名を直接指定します。

 もしConcrete5を「/」ではないとろこにインストールした場合は、ちょっと厄介です。せっかくのPHPですので、動的に取得してみましょう。

 Concrete5では最初から用意されている機能がいくつもあります。それを利用することで、効率的にテーマを作ることができます。テーマのパスを取得するにはテーマのphpファイル内では$this->getThemePath()で取得することができます。

 先ほど説明した



 を

<?php echo SITE?>

と変更しましょう。これでロゴが表示されます。
株式会社マイニングブラウニー
2002年に携帯電話用ゲームの開発でこの業界にはまり、2006年にソフトウエア開発会社 株式会社マイニングブラウニー設立。webとオープンソースが大好き。あわよくばシステム全部をオープンソースで構築してしまいたい願望を持っています。http://miningbrownie.co.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています