ページの先頭です。本文を読み飛ばして、このサイトのメニューなどを読む
ここまでがこのページの内容です。ここからはサイトの共通メニューなどです。 メインメニューログインサイト内検索お問い合わせ
|
サイト内の現在位置です: 34.テーマのカスタマイズさて、サイトを構築してみて一番最初に手を加えたい所はテーマだろう。なにしろサイトの印象は見た目で決まってしまうことが多いので、テーマのデザインには凝りたいところ。ここではホダ塾ディストリビューションに同封されている「hd_default」をベースにテーマのカスタマイズについて紹介してみよう。 テーマ選びのコツまあ、どんなテーマを選ぶかはそれぞれサイトの個性なんで考えどころなのだが、次のような点に気をつければいいと思う。
hd_defaultの特長今回ベースに選んだのは、1.0.1b版に同封されている「hd_default 0.8」だ(ちなみに1.0.2版に同封されているhd_defaultも0.8だ。ただし実際にはモノが違う。バージョン上がったら番号は変えておいた方がいいですよ)。このテーマは次のような特長がある。
かなりシンプルなテーマなので好みが分かれるところだとは思うが、よく考えられたテーマなのでベースにするには申し分ないと思う。ただし、このテーマはホダ塾ディストリビューションのpreloadを前提としているので通常のXCLではうまく表示されない(/preload/HdXoopsTplHook.class.phpが必要)。まあ、もうちょっとグラフィック寄りのテーマが好きな人は各自よろしく。 なお、なんでわざわざ古いバージョンのテーマを選んで解説するかといえば、1.0.2版のメッセージリダイレクトの方法が個人的には気に入らないからだ。特に携帯のフルブラウザで見たときにメッセージがまったく表示されない点が大減点。まあ今回はテーマのカスタマイズ方法の一例を紹介するということでご容赦願いたい。 hd_defaultのファイル構成hd_defaultは次のファイルで構成されている。
カスタマイズの際にいじるのは主に「theme.html」「theme_config.php(theme_config.dist.php)」「css_style.php」、あと場合によっては「css_layout.php」「css_print.css」だろう。 ここがヘンだよ、hd_default基本的にはよくできているテーマだと思うのだが、個人的にどうしても我慢ができない点がある。それは、IE6で表示時にレイアウトが崩れてしまう点だ。 (ウィンドウが狭くなってくると、左ブロックが中央ブロックより下に配置されてしまう)。 (モジュールによっては右ブロックを表示すると中央ブロックより下に配置されてしまう) これらはhd_defaultがテーブルレスレイアウトにこだわったから起こっている。中央ブロックを可変幅カラムにした場合、どうしたってIE6ではテーブルレスレイアウトは無理だと思う(iGoogleだって実現できていない)。IE6でテーブルレスでもいいのは、各カラムが固定幅の場合だけだ。チャレンジはいいと思うし、ベースとしてはかなりいい感じではあるのだが、残念ながらこれをそのまま使うことはできない。 カスタマイズ箇所hd_defaultでカスタマイズしたのは次の点。
テーブルレイアウトに変更することで、個人的に不満な点はほぼ解消された。なおテーブルレイアウトにしたことで印刷用CSSの一部に手を入れる必要があった。印刷時には左右ブロックは必要ないので、そのwidthを0にして印刷しないように。その他の変更は好みということで。 なおテーマを変えてもモジュールによってはテンプレートの細部をイジる必要なものもあるだろう。テンプレートはデフォルトとは別のテンプレートセットを複製しておいて、そちらに修正を加えた方が運用上は都合がいい。 テーマのカスタマイズは初心者でも簡単に取り組めるので、気に入るまで手を加えるといいだろう。
投票数:94
平均点:5.96
作成:2008-9-7 16:29:42
更新:2008-9-9 11:21:42
AXYZ-SAK
投稿日時 2009-3-16 1:34
通りすがりに失礼します……
> 中央ブロックを可変幅カラムにした場合、 > どうしたってIE6ではテーブルレスレイアウトは無理 ほんとなら、xoopsなら簡単に、IE6でもテーブルレス可能ですよw theme.htmlの1行目あたりにphpコマンドを書くことで、 ユーザーエージェントがIE6じゃない場合のみxml宣言を echoさせることで、IE6の場合は互換モード動作が実現します。 そうなると、css内では、たとえば margin:0 auto; だって使えちゃいます。
taked2
投稿日時 2009-3-17 20:47
> ほんとなら、xoopsなら簡単に、IE6でもテーブルレス可能ですよw
> theme.htmlの1行目あたりにphpコマンドを書くことで、 > ユーザーエージェントがIE6じゃない場合のみxml宣言を > echoさせることで、IE6の場合は互換モード動作が実現します。 ありゃ、そうなのか。不勉強ですみません。 ちなみにどんなphpコマンドを書けばいいのか、よかったら教えてください。 |