テーマの構成とレイアウト
提供: 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カラム構成も可能で、主に携帯サイト用、あるいは読み上げソフトへの対応を目的として利用されます。
- 3カラム構成 …左:メインブロック 右:サブブロック 中央:コンテンツ
- 2カラム構成 …左(または右):コンテンツ・右(または左):メインブロック
- 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から,左ブロックも右ブロックも呼ばないことで実現できます. 携帯サイト用,あるいは読み上げソフトへの対応を目的として利用されます.
