![]() |
![]() |
まずはこのサイトのベーシックマニュアルなどで、XOOPSのテンプレートの原理について理解すること。
特に以下の違いの理解は重要
実ファイル。 FTPなどでも確認可能。
あくまで、モジュール作者が提供するデフォルトテンプレートであり、これが直接、テンプレートとして利用されるわけではない。(オリジナルのX2およびXCL2.1)。
ただし、本家版2.0.14以降および、そこからフォークしたImpressCMSでは、一般設定において「defaultテンプレートセット」を選択したままだと、ここに置かれたファイルが、テンプレートとして直接利用されてしまう。
この場所のファイルを書き換えても、モジュールのバージョンアップで上書きアップロードすれば、当然、書き換え結果は消されてしまう。
これは、X2テンプレートの仕組み・意義を理解していない開発者による改悪だと思われる。
DBテンプレート。ファイルとしては確認できない。 altsysやテンプレート管理などから確認可能。
モジュール管理から、モジュールをアップデートすると、「XOOPS_ROOT_PATH/modules/(dirname)/templates/に置かれたファイル群」から、データベース内にコピーされる。(すでにあった、defaultテンプレートセットのテンプレート内容は上書きされる)
オリジナルのX2およびXCL2.1では、この動作を経てはじめて、上記ファイル群の更新されたテンプレートが反映されることになる。
X2ではこの方法しかなかったため、未だにこの方法で紹介しているサイト・書籍が多いが、今となっては「誤り」と言って良いレベル。
ここでテンプレートセットごと「複製」してしまうと、カスタマイズする予定のないテンプレートまで複製されてしまい、モジュールを上書きアップデートしても、一向に反映されないことになる。
altsysのテンプレート管理画面、一番下にある「新規にテンプレートセットを作成する」から、ベースに「(空)」を選んで、セット名を入力し、「新規作成」する。 名前は何でも良いが、"custom" や "user" などが判りやすいだろう。 (以下は、customとして説明する)
X2であれば、「システム管理」「一般設定」「一般設定」から、デフォルトのテンプレート・セットについて、"custom"を選択。
XCL2.1であれば 「互換レンダーシステム」「テンプレート管理」から、さきほど作った"custom"テンプレートセットを "ACTIVE" にする。
altsysから、「テンプレート管理」「(モジュール名)」と進み、カスタマイズしたいテンプレート(複数可)をチェックして、画面下の行先で"custom"を選び、「コピー実行」
あとは、"custom"にある、該当テンプレートを編集する。
altsysの「テンプレートの高度な操作」に入り、「テンプレートを枠で囲う」をクリック。 再度、公開側を表示すれば、テンプレート単位で枠が囲ってあるので、編集したい枠内にある "Edit:" リンクをクリックして編集する。
ただしこの場合、defaultテンプレートを直接編集していることになるので*1)、編集終了後に、忘れずに編集したテンプレートについて、defaultからcustomテンプレートにコピーしておくこと。
それを忘れたままでいると、後でモジュールアップデートした時に変更内容が失われて泣くことになる。
| Page Info | |
|---|---|
| Page Name : | 正しいテンプレートカスタマイズ方法 |
| Page aliases : | None |
| Page owner : | GIJOE |
| Can Read | |
| Groups : | All visitors |
| Users : | All visitors |
| Can Edit | |
| Groups : | 登録ユーザ, XUGJ Member |
| Users : | No one |