テーマの構成とレイアウト

提供: GeeklogJpWiki

[3]管理方法 > 管理者が導入後すぐ試せる簡単カスタマイズ > テーマをカスタマイズする > テーマの構成とレイアウト

目次

テーマの構成とレイアウト

テーマのテンプレートファイル構成

テンプレートファイルの配置
  • header.thtml: ヘッダ
  • footer.thtml: フッタ
  • leftblocks.thtml: 左ブロックエリア
  • rightblocks.thtml: 右ブロックエリア
  • blockheader-left.thtml: 左ブロックヘッダ
  • blockfooter-left.thtml: 左ブロックフッタ
  • blockheader-right.thtml: 右ブロックヘッダ
  • blockfooter-right.thtml: 右ブロックフッタ
  • featuredstorytext.thtml: 注目記事
  • storytext.thtml: 記事
  • archivestorytext.thtml: 圧縮記事
  • menuitem.thtml: ヘッダメニュー
  • menuitem_last.thtml: ヘッダメニュー最後
  • menuitem_none.thtml: ヘッダメニュー表示なし
  • list.thtml: 話題メニュー
  • listitem.thtml: 話題メニューの話題
  • loginform.thtml: ブロックのログインフォーム
  • style.css: スタイルシート
  • style_jp.css: 全体のスタイルシート
  • style_forum.css: 掲示板のスタイルシート
  • article/article.thtml: 記事表示ページ関連情報欄
  • article/printable.thtml: 記事印刷フォーム
  • profiles/contactuserform.thtml: メール送信フォーム
  • profiles/contactauthorform.thtml: 記事を友人にメールで送る送信フォーム
  • preferences/profile.thtml: アカウント編集フォーム
  • search/searchform.thtml: 検索フォーム
  • search/searchresults.thtml: 検索結果
  • submit/submitevent.thtml: イベント投稿
  • submit/submitloginrequired.thtml: ログイン要求
  • users/newpassword.thtml: 新規パスワード
  • users/commentrow.thtml.thtml: コメント
  • users/getpasswordform.thtml: パスワード再設定フォーム
  • users/loginform.thtml: ログインページフォーム
  • users/registrationform.thtml: ユーザ登録フォーム
  • users/profile.thtml: アカウント情報
  • users/storyrow.thtml: アカウント情報 記事一覧


詳細は、デモサイトにて、テーマをtestに設定して構造を確認できます。


主な変数

{page_title}            : ページタイトル
{site_slogan}      : サイトスローガン
{menu_elements}     : メニュー要素
{welcome_msg_jp}     : ようこそ表示
{prof_url_jp}           : プロフィールページリンク
{datetime}        : 日時
{copyright_notice}      : コピーライト文
{powered_by}            : Powered By 表示
{execution_textandtime} : ページ作成時間
{leftblocks}            : 左ブロック
{rightblocks}           : 右ブロック
{layout_url}            : 現在のテーマのレイアウトフォルダのURL

参照:開発資料「テーマの変数一覧」


レイアウト

ブロックシステムによりコンテンツは自由な配置が可能で、レイアウトは以下の3種類から選べます。通常は、3カラム構成、あるいは2カラムの左サイドメニュー構成ですが、コンフィギュレーションファイルのモードを変更して右サイドメニュー構成も設定できます。テンプレートを修正して、ブロックをまったく表示させない1カラム構成も可能で、主に携帯サイト用、あるいは読み上げソフトへの対応を目的として利用されます。

  1. 3カラム構成 …左:メインブロック 右:サブブロック 中央:コンテンツ
  2. 2カラム構成 …左(または右):コンテンツ・右(または左):メインブロック
  3. 1カラム構成 …ブロックなし。コンテンツのみ。(携帯用向け等)

レイアウト機能を拡張する

Geeklogのレイアウトのデフォルトモードをテーマごとに様々に変更することができます.

左ブロックを右側に配置する

デフォルトの設定では,通常ヘッダのテンプレートで左ブロックの変数{left_bolocks}が呼ばれ,フッタのテンプレートでから右ブロックの変数{right_bolocks}が呼ばれるので,次のようになります. header.thtml[ヘッダ 左ブロック(メイン)]・センターブロック・footer.thtml[右ブロック(サブ)・フッタ]

フッタのテンプレートfooter.thtmlから左ブロックを呼びたい場合には,config.phpで設定しているデフォルトの配置モードを変更するよう,個別のテーマディレクトリのfunctions.phpに,1行追加します.

$_CONF['left_blocks_in_footer'] = 1; 
// 0:左ブロックをheader.thtmlに配置 1: 左ブロックをfooter.thtmlに配置(header.thtmlには配置できない)

これで,footer.thtmlから右ブロックだけでなく左ブロックも配置できます.つまり次のようなレイアウトが可能になります. header.thtml[ヘッダ]・センターブロック・footer.thtml[左ブロック(メイン)・右ブロック(サブ)・フッタ]

常時3カラムレイアウトへ変更する

デフォルトの設定では,右ブロックは記事のインデックス表示の場合には表示されますが,記事の個別表示の場合には消えます.これを常時表示させたい場合には,上記と同様に個別のテーマディレクトリのfunctions.phpに,1行追加します.

$_CONF['show_right_blocks'] = false; 
// false: 個別記事表示の際には右ブロックを隠す  true: 個別記事表示の際にも右ブロックを表示

functions.phpは,テーマごとに置かれた,そのテーマ専用のPHPプログラムで,lib-common.phpからテーマを選んで表示する際に一度だけ実行されます.functions.phpに変数設定の行を追加するだけで,すべてのテーマに影響させないで,そのテーマだけのコンフィギュレーションを次のように変更できます.

ブロックをまったく表示させない1カラム構成は,footer.thtmlおよびfooter.thtmlから,左ブロックも右ブロックも呼ばないことで実現できます. 携帯サイト用,あるいは読み上げソフトへの対応を目的として利用されます.

個人用ツール