LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Wiki

ModuleManuals

DBTHEME anchor.png

機能
テーマを管理画面から編集する
種別
システム補助
作者
GIJOE
バージョン
0.50
動作環境
XOOPS2.0、本家版2.2、XOOPS Cube Legacy 2.1
配布元
http://xoops.peak.ne.jp/
複製
Duplicatable V3
Page Top

概要 anchor.png

XOOPSの出力を司るSmartyテンプレートのうち、テーマだけは、ファイルテンプレートとなっていて、管理画面からのコントロールが出来ません。

このモジュールを導入することによって、管理画面でテーマを編集することが可能になり、その編集結果が即座にサイトに反映される様になります。

Page Top

知っておくべき事 anchor.png

Page Top

依存モジュール anchor.png

このモジュールの原理上、altsysモジュールのインストールは必須です。dbthemeの前に、altsysモジュールをインストールしておいてください。

Page Top

ファイルテンプレートとDBテンプレート anchor.png

このモジュールを使う上でも、XOOPSを今後利用していく上でも、ファイルテンプレートとDBテンプレートの違いを理解することが重要です。

http://www.xugj.org/modules/manual1/content/index.php?id=39

Page Top

インストール anchor.png

  • altsysの最新版がインストールされていることを確認します
  • XOOPS_TRUST_PATH/modules に、アーカイブのxoops_trust_path/modules/dbtheme/ をアップロードします。
  • XOOPS_ROOT_PATH/modules に、アーカイブのhtml/modules/dbtheme/ をアップロードします。(ここのdbthemeというディレクトリ名は変更可能です)
  • お使いのXOOPSの管理画面に入り、モジュール管理よりインストールします。

2個目以降のdbthemeをインストールする時は、下の2つの作業だけで十分です。

実はインストール完了した時点で、現在利用中のテーマ(一般設定で指定した「デフォルト・サイトテーマ」)が、dbtheme用のDBテンプレートとして取り込まれています。

また、最新版では、インストールした時点で、モジュール管理における表示順は0となります(つまりアクティブではあってもメインメニューには表示されない)。dbthemeをメインメニューに表示したい、というケースはおそらくないでしょうから、表示順は0のままにするのが良いでしょう。何らかの理由で、表示順が0以外になっている場合は、モジュール管理より、表示順を0にするのが良いでしょう。

Page Top

アップデート anchor.png

他のD3モジュール群と同様、ファイルシステムについては、XOOPS_TRUST_PATH側の上書きアップロードだけで済みます。

上書きアップロードの後、必要に応じて、モジュール管理より、アップデートを行ってください。特に指示がある場合以外は不要です。(むしろ、ヘタにアップデートして、DBテンプレートを壊す方が怖い)

このモジュールをモジュール管理より「モジュールアップデート」することは、特別な意味を持ちます。具体的には、dbthemeモジュールの一般設定で指定されたテーマセットを、dbthemeモジュールのテンプレートとして取り込む処理が入る、ということです。

詳しくは、使用方法を参照してください。

Page Top

アンインストール anchor.png

特別な作業は何も必要ありません。

通常通り、モジュール管理からアンインストール作業を行うだけで、すべてのデータは削除されます。DB内に取り込まれたテーマテンプレートも、自動的に削除されます。

逆に、dbtheme内でカスタマイズしたテーマを保存したい場合は、アンインストールを行う前に、altsysからテンプレートセットの保存を行う必要があります。

Page Top

使用方法 anchor.png

Page Top

DBテンプレートでテーマ描画されるようにする(X2の場合) anchor.png

「テーマフックブロック」を有効にする必要があります。テーマフックブロックが表示される(実際の描画はない)ことによって、dbtheme内のテンプレートがテーマ用テンプレートとして利用されます。

Page Top

DBテンプレートでテーマ描画されるようにする(XCL2.1の場合) anchor.png

XOOPS 2.0.x と違って、サイト設定ファイルを編集する必要があります。

settings/site_custom.ini.php というファイルをエディタで開いて(もしファイルが無ければ新規作成して)、以下の内容を書込ます。

[RenderSystems]
Legacy_DbthemeRenderSystem=Legacy_DbthemeRenderSystem

[Legacy_DbthemeRenderSystem]
root=XOOPS_TRUST_PATH
path=/modules/dbtheme/class
class=Legacy_DbthemeRenderSystem
Page Top

権限設定 anchor.png

dbthemeは、その特性から、管理画面以外での操作はありません。
ただし、メインパートそのものはあって、そこがCSSやJavaScriptを出力します。

つまり、メニュー項目には載せませんが、アクセス権限そのものは全グループに与える必要があるでしょう。

また、XOOPS-2.0.x で利用する場合、「テーマフックブロック」のアクセス権限も、全グループに与える必要があるでしょう。

Page Top

テーマをカスタマイズする anchor.png

無事に、DBテンプレートがテーマとして利用されるようになったら、あとは、dbthemeの管理画面>>テンプレート管理より、テンプレートを編集することで、管理画面から自由にテーマカスタマイズができるようになります。

Page Top

管理画面 anchor.png

繰り返しになりますが、dbthemeはaltsysがなければ意味のないモジュールです。dbthemeの管理画面に、なにもメニュー等が表示されない場合、altsysがインストールされていない、または、バージョンが古い、のいずれかです。

Page Top

言語定数管理 anchor.png

altsysの言語定数オーバーライド機能です。
現実には、dbthemeの言語定数を書き換える意味はほぼないでしょう。

Page Top

テンプレート管理 anchor.png

いわゆるtplsadminですが、通常のモジュールと違うのは、ここに表示されているテンプレートが、テーマセットを意味する、ということです。

通常、dirname_theme.html がテーマの中心となるファイルで、通常のテーマにおける、theme.html です。

オリジナルファイル列は、一般設定で指定したテーマフォルダ(defaultテーマであれば、XOOPS_ROOT_PATH/themes/default/)直下に存在する、拡張子css, html, またはjsファイルを意味します。

オリジナルファイル列と、DBテンプレート列(default)に、最初から差分が発生していることも多くあると思いますが、これは、dbthemeモジュールが、テーマファイルから取り込む際に、自動処理で書き換えたことによる影響です。

ほとんどの場合、この自動処理で、ファイル依存だったテーマファイルが、DBテンプレートを利用する形になります。

Page Top

ブロック/アクセス管理 anchor.png

いわゆるblocksadminです。
ブロック管理およびモジュールとブロックに関するアクセスコントロールができます。

「テーマフックブロック」をすべてのページに表示してください。アクセス権限設定も、モジュール管理者権限以外のすべてを全グループに許可してください。

Page Top

一般設定 anchor.png

ベーステーマ
このdbthemeモジュールのベーステーマを指定します。defaultテーマであれば、"default" と入力します。ここを変更した後に、モジュールアップデートを行うことで、新しいベーステーマの各種テンプレートがDBテンプレートとして取り込まれます。
CSSのブラウザキャッシュ時間(sec)
デフォルトは3600sec、つまり1時間です。あえて変更する必要は無いでしょう。
Page Top

ブロック anchor.png

ブロック名テンプレート説明ブロック複製ブロックオプション
テーマフックブロックテーマをファイルからDBに切り替えるためのブロック。描画処理はないので、テンプレートもありません。テーマとして利用するテンプレート名:XOOPSが最終的にレンダリングするためのテンプレートを指定します。通常は、dirname_theme.htmlでしょう。
Page Top

テンプレートセット anchor.png

dbthemeモジュールは、モジュール自身のテンプレートは持ちません。

あくまで、ベースとなるべきテーマセット中のhtml/css/jsファイルが、DBテンプレートとして取り込まれます。

Page Top

イベント通知の種類 anchor.png

イベント通知はありません。

Page Top

Tips anchor.png

Page Top

モジュール毎に異なるテーマで表示する(テーマチェンジャーとしての利用) anchor.png

dbthemeを利用することで、まったく違ったテーマを、モジュール毎に切り替えて利用することができます。

「テーマフックブロック」を「すべてのページ」ではなく、特定のモジュールに指定すれば、その表示対象においてのみ、そのdbtheme内のDBテンプレートが利用されます。

指定された表示対象以外については、従来通りファイルベースのテーマが利用されます。

さらに、dbthemeモジュールを複数インストールして、それぞれに異なるベーステーマを与えれば、どのdbthemeの「テーマフックブロック」が表示されるかによって、まったく異なるテーマで表示することが可能となります。

Page Top

グループ毎に異なるテーマで表示する anchor.png

モジュール毎に異なるテーマで表示するのとほぼ同じ原理ですが、「テーマフックブロック」のアクセス権限をグループ毎にON/OFFすることで、グループによるテーマ切替も可能です。

ただ、個人的には、そういう複雑なやり方よりは、xugj_assign.php を利用して、<{if}>分でグループの処理分けをした方が素直だと思います。

Page Top

dbtheme専用テーマを作る anchor.png

dbtheme上でいじることを前提としたテーマであれば、<{$xoops_dbthemecssurl}>というテンプレート変数を利用すると、ベーステーマ取り込み時の差分も生じません。

参考トピック:
http://www.xugj.org/modules/QandA/index.php?topic_id=267

なお、XCL2.1では、テーマ名の最後がdbで終わるもの以外は、DbthemeRenderSystemで取り扱わない、という仕様になっています。dbtheme用テーマを作る場合は、テーマ名の最後をdbで終わる形(newbase0db等)にしてください。

Page Top

よくある質問 anchor.png

Page Top

ライセンス anchor.png

GPL v2

Page Top

関連モジュール anchor.png

モジュール名説明配布先
altsysdbthemeを使う上での前提となるモジュールhttp://xoops.peak.ne.jp

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 11247, today: 1, yesterday: 0
初版日時: 2007-05-25 (金) 21:58:11
最終更新: 2014-01-13 (月) 22:06:01 (JST) (1172d) by GIJOE
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities