Drupalでテーマ作成に必須な.infoファイルについて


はじめまして、こんにちは。 スタジオ・ウミでプログラマをしている山中です。
入社して2ヶ月が立ち、仕事にも慣れてまいりました。 滋賀で生まれ育ち、ずっと滋賀に住んでいまして、地元好きなんですが この春高校生の頃から憧れていたwebプログラマーの職に地元で就けまして ありがたいことに毎日が充実しておりますξ*'ヮ')ξ♪ これからよろしくお願いいたします。
さて、弊社では現在Drupal7(稀にDrupal6)を利用していますが私もDrupal7を使って何かをしています。 主にプログラミング+コーディングですね。学びながら実践しております。 ブログでは復習+覚書もかねて勉強したことを少しずつ書いていこうと思います。
それでは今日はテーマ作成に必須な.infoファイルについて書きます。 (module用のinfoファイルは書く項目が違うので今回はテーマのみ) .infoファイルを作成・編集する際に注意する点は以下のとおり。
- ファイル名はテーマと同じ名前をつける 例:my-theme-name.info
- コメントアウトは1行ごとに【;】を使用する(.iniファイルと同じ書き方)
- テーマフォルダの直下に入れる 例: drupal/sites/all/themes/my-theme-name/my-theme-name.info
- "name"と"core"さえ定義しておけばテーマファイル群として認識される
- "description"や"version"は無くてもテーマは動くがあった方が良さそう
・・・これくらいでしょうか? あとはよく定義する項目について書きます。
name テーマの名前を書きます。
description 管理画面 -> テーマ にて説明文として表示されます。
core Drupal7の場合は7.xを書く。Drupal6のときは6.x。
version テーマのバージョン情報です。何も考えなければ1.0にしておきます。
stylesheets[MEDIA_TYPE][] CSSファイルを定義する際に使います。 【MEDIA_TYPE】の部分には【all】【print】などが入ります。htmlでいう↓のmedia=""の中です。
<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/my-theme/style.css">
【MEDIA_TYPE】の部分をちゃんと指定しないと動きません。せっかくCSSを書いたのに反映されないのでデザインがぶっ壊れます。 何も考えなくてもいいなら【all】を指定しておけば大丈夫です。
scripts[] Javascriptファイルを定義する際に使います。 stylesheetのように[]内に値を入れる必要はありません。
regions[PARTS]
【PARTS】の部分には好きな英数字の名前を入れます。そうすると
管理メニュー -> サイト構築 -> ブロック (英語だと:Administration -> Structure -> Blocks)
にリージョンが追加されます。ここにブロックをポイポイ追加していけばそのリージョンにブロックが表示されます。
テーマ内にpage.tpl.phpのファイルがある場合、render()関数で出してあげないと表示されません。
ちなみにこんな感じ。
↓のリストはregionを設定しない時に使われるデフォルトのものです。
- regions[content] = Content
- regions[header] = Header
- regions[footer] = Footer
- regions[sidebar_first] = Left sidebar
- regions[sidebar_second] = Right sidebar
- regions[highlighted] = Highlighted
- regions[help] = Help
実際に書くとこんな感じになります
name = 私のテーマ
description = 説明文を書きます
core = 7.x
version = 1.0
stylesheets[all][] = style/style.css
stylesheets[print][] = style/print.css
regions[content] = Content
regions[sidebar_first] = Sidebar
regions[header] = Header
regions[footer] = Footer
regions[waaaai] = waaaai
まだまだDrupalのことを理解できておりませんがもっと技術を身に付けて 自身をもってDrupalでのwebサイト制作に挑んでいきたいです!