23:56このサイトで使っているDrupalのテーマは、zenというカスタマイズ用のテーマのサブテーマである。Drupalでは誰かが作ったテーマをサーバからダウンロードしてきて使ってもよいし、そのようなテーマを自分で修正して使ってもよい。zenというテーマはもともとカスタマイズしてサブテーマを作成できるように作られたテーマだ。サブテーマは親テーマであるzenのデザインを継承し、必要な箇所だけカスタマイズすることができる。zenのバージョンは2.xを使っている。実は、1.0からバージョンをあげるとかなり内容が変わっており、めちゃくちゃになってしまっていたのだ。これはいかんと思って、ちゃんとドキュメントを読み、各ファイルの内容もチェックしたので、まとめておきたいと思う。ファイルみたいなものだ。いうファイルを修正して使うことになる。このファイルの内容を順を追って見ていく。screenshot.pngはじめの3つは、管理セクションのテーマリストのページにテーマの名称、説明、画面の例を表示するためのものだ。推奨項目となっている。zenのサブテーマを作る場合、nameとdescriptionを適切に書き換えておく。テーマがどのDrupalのバージョンに対応しているかを示すもので、必須項目だ。themeはこのテーマがzenのサブテーマであることを示している。書くことによって、親テーマから各種のリソースが継承される。継承されるのは以下の通りだ。継承されないものは以下の通りだ。iphone.cssその次の部分には、このテーマがどのようなスタイルシートを使うかが定義してある。ここで宣言したスタイルシートファイルがサブテーマのフォルダに置かれて親テーマとは異なるスタイルを実現する。コメントにしてあるスタイルシートはサブテーマでは使用しないスタイルシートであり、zenの場合は、親テーマであるzenのフォルダ内にあるスタイルシートを使用する(継承する)という意味になる。宣言してあるにも関わらずサブテーマフォルダ内にスタイルシートファイルが無い場合、単に親テーマのスタイルシートを使用しないという意味になる。...などはサブテーマでカスタマイズすることを想定している。wireframes.cssはzenフォルダ内にあるものを継承する。backgrounds.cssをサブテーマフォルダに置かなければzenのbackgrounds.cssファイルを単に無視することになる。なくW3CでCSS2.1の規定として定めたものだ。実際にページとして表示する際に、HTMLのヘッダに以下のような行が挿入され、media属性の値になる。/>HTMLのヘッダに書かれる順番は、.infoファイルに書いた順番になる。ファイルを指定することもできる。zenでは上記のregionを使用することができる。ように変数として参照される。右側のregion名は、例えば管理セクションのブロックのページで、ブロックを割り当てるメニューの中でregion名として参照される。secondary_linksfeaturesはページを表示する時に表示のOn/Offがスイッチできる要素を表す。zenのSTARTERKITの例では、テーマのロゴ、サイト名、スローガン、ミッション、...などがテーマ設定ページでOn/Off設定ができるようになっている。ファイルの中でテーマ設定可能項目として定義した項目の初期値が書いてある。