ページへ戻る

− Links

 印刷 

XCL 管理画面テーマの仕組み :: xoops123

xpwiki:XOOPSでWebサイトを作ろう/カスタマイズ/XCL 管理画面テーマの仕組み

nobuさん(nobunobuさん)のサイトに良い情報がありましたので、勝手ながら引用させていただきます。
 出典元:http://dev.myht.org/modules/d3forum/index.php?topic_id=88[1]

【以下、引用文】

smarty のファイルテンプレートで構成 (ユーザ画面は DB テンプレート)
テーマを差し替える場合はファイルのオーバーライド順位を利用する。

ページ内コンテンツ
  • admin テーマは次のフォルダに置かれる。
    • 管理画面全体のテーマファイル
      • 管理画面で使われるスタイルシート (ファイル名は admin_theme.html 内に記述)
      • ファイルのフォルダ探索優先順位 (dirname は現在の選択モジュール)
  • 管理画面用の smarty 関数・モディファイア
    • <{stylesheet file=xxxx.css static=true}> 関数
    • theme モデファイア -- 文字列にテーマの URL を付加する
    • それぞれの管理画面に対応するテンプレート

admin テーマは次のフォルダに置かれる。 anchor.png[2]

modules/legacy/admin/theme/

Page Top

管理画面全体のテーマファイル anchor.png[3]

admin_theme.html

Page Top

管理画面で使われるスタイルシート (ファイル名は admin_theme.html 内に記述) anchor.png[4]

stylesheets/style.css
modules/{dirname}/admin/templates/stylesheets/module.css

Page Top

ファイルのフォルダ探索優先順位 (dirname は現在の選択モジュール) anchor.png[5]

1) themes/admin/modules/{dirname}/
2) themes/admin/
3) modules/{dirname}/admin/templates/
4) modules/legacy/admin/theme/

Page Top

管理画面用の smarty 関数・モディファイア anchor.png[6]

Page Top

<{stylesheet file=xxxx.css static=true}> 関数 anchor.png[7]

stylesheets/xxxx.css を上記のパス上から探して存在すれば次のように展開する。
<link rel="stylesheet" type="text/css" media="all" href="..." />
static=true は、trunk[1076] での拡張で、ファイルを smarty テンプレートではなく静的なファイルとして扱う。
スクリプトを経由しないので処理が高速軽量になる。

Page Top

theme モデファイア -- 文字列にテーマの URL を付加する anchor.png[8]

<{"images/xxxx.png"|theme}> のように使い、指定のファイルが存在するテーマの URL に変換する。


static=true を使って読み込む場合、対象ファイルは smarty のテンプレートでない点に注意すること。当然 theme モディファイアは使えない。

Page Top

それぞれの管理画面に対応するテンプレート anchor.png[9]

modules/{dirname}/admin/templates/ 以下のファイルを使う。
フォルダ探索優先順位に従いファイル探索を行うので、themes/admin フォルダにファイルを置くと置換えができる。


Last-modified: 2014-03-22 (土) 08:41:20 (JST) (3686d) by marine