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に保存してるのか意図が分からないし、普通に面倒くさいんですけど、、、もっといい方法知っていたら教えて下さいませ。