XOOPSでのテンプレート修正方法

先日、XOOPSのモジュールをいじったんですが、phpコードの変更は普通に反映されるんだけど、テンプレートの変更がどうやっても反映されない。
どこかにキャッシュされてるはずなんだけど、、、とはまった時のメモです。

XOOPSのテンプレートエンジン

XOOPSではSmartyを継承したxoopsTplというテンプレートエンジンを使っているので、基本はSmartyです。

smartyでキャッシュ関係の設定を見てみると、XOOPSでは以下のディレクトリにキャッシュが保存されています。

cache
templates_c

が、全部消去しても変更は反映されず。

それもそのはず、XOOPSではテンプレートはDBに保存されているのです。おそらくモジュールのインストール時にファイルを読み込んで、それ以降はDBを参照しているようです。

XOOPSでのテンプレート修正方法

XOOPSではテンプレートの修正を、Webの管理画面から行います。

  • 管理メニュー→互換レンダーシステム→テンプレート管理

defaultという名前のTemplate Setがありますが、このテンプレートは編集できないのでコピーしたものを編集します。

  • 「操作」から「複製」をクリックして、適当な名前と概要を入力して「複製」をクリック。
  • 複製したTemplate Setの「テンプレート」から変更したいテンプレートを選んでテンプレートファイル一覧が表示されるので、ここで「編集」クリック
  • フォーム内でテキストを修正して「編集」をクリックすれば完了
  • upload, downloadもできます


とりあえず、こうやればできる、ということは分かりましたが、なんでDBに保存してるのか意図が分からないし、普通に面倒くさいんですけど、、、もっといい方法知っていたら教えて下さいませ。


ちなみに、今回PHP初心者勉強会でもくもくしてたのですが、いろいろとアドバイスをいただきとっても助かりました!