ガセの沼その2

Date 2006-05-28 03:30:19 | Category: XOOPS

in englishin japanese
ガセその2:

「テンプレートをカスタマイズしたいなら、templates/以下のファイルを編集してモジュールアップデートを実行しろ」

私自身、このような回答をつけていた時期もあったのですが、これ、基本的に「間違い」です。
ファイルシステム上のtemplates/以下に存在するファイルは、ユーザがカスタマイズするためのファイルでは決して無く、モジュール製作者が用意したdefaultテンプレートです。だからこそ、モジュールアップデートでデータベース内のdefaultテンプレートセットに自動的に取り込まれるのです。

モジュールアップデートというのは、本来、モジュール製作者が用意した新しいモジュール設計書を読み直す作業です。一般設定を追加したり、テーブル構造を変更したり、新しいdefaultテンプレートを読み込むためにあるのです。ユーザによるカスタマイズとは本質的に無関係です。

そういう理念的な部分はさておいて、実用上の観点からもそのやり方は問題があります。

モジュールのバージョンアップを行う場合、単純な上書きができなくなります。バージョンアップを行う度に、templates/以下のファイルが書き換えられているかどうかを確認するのですか? そんなの苦行以外のなにものでもありません。

もちろん、templates/以下のファイルを編集してモジュールアップデートする、なんて方法が広まったのにはそれなりの理由があります。それは、システムが提供するテンプレートセットマネージャがあまりにも貧弱だったからです。とても使い物になるレベルではありませんでした。

でも今は違います。tplsadminがあるのです。
http://www.peak.ne.jp/xoops/md/mydownloads/singlefile.php?cid=1&lid=66

私の考えるベストのテンプレート編集方法は以下の通りです。

・空のテンプレートセットを作る(カスタム用)
・一般設定において、そのテンプレートセットを指定する
・カスタマイズしたいテンプレートを、defaultからカスタム用セットにコピーして編集
・適宜、カスタムセットはダウンロードしてバックアップとする

モジュールのバージョンアップを行う正しい手順は以下のようになります。
(もちろんすべてtplsadminで行います)

(1) 全ファイルを上書きアップロード
(2) tplsadminにて、どのテンプレートが更新されたかを確認(FILEとdefaultの比較)
(3) (2)において変更のあったテンプレートについて、カスタムテンプレートが存在する場合、その違いをカスタムテンプレートに適宜反映(FILE,default,カスタムの比較)
(4) モジュール管理のモジュールアップデートを実行

モジュールアップデートが一番最後になることに注意してください。

なお、Web上ではなく、あくまでファイルとして操作したい方には、テーマ下にtemplatesフォルダを作る、という方法をお勧めします。




You can read more news at PEAK XOOPS.
http://xoops.peak.ne.jp

The URL for this story is:
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=115