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

基本知識 anchor.png

まずはこのサイトのベーシックマニュアルなどで、XOOPSのテンプレートの原理について理解すること。

特に以下の違いの理解は重要

テンプレート
モジュールの出力で使われる必要な個々の雛形。HTMLが多いが、XMLやCSS、メールの雛形を提供するものもある。
テンプレートセット
実際に利用される雛形を決定するために、テンプレートをまとめたもの。defaultテンプレートセットのみが特別で、全種類のテンプレートを持っている。default以外のテンプレートセットは任意のテンプレートのみを持つことができる。
Page Top

テンプレートの分類 anchor.png

Page Top

XOOPS_ROOT_PATH/modules/(dirname)/templates/に置かれたファイル群 anchor.png

実ファイル。 FTPなどでも確認可能。

あくまで、モジュール作者が提供するデフォルトテンプレートであり、これが直接、テンプレートとして利用されるわけではない。(オリジナルのX2およびXCL2.1)。

ただし、本家版2.0.14以降および、そこからフォークしたImpressCMSでは、一般設定において「defaultテンプレートセット」を選択したままだと、ここに置かれたファイルが、テンプレートとして直接利用されてしまう。

この場所のファイルを書き換えても、モジュールのバージョンアップで上書きアップロードすれば、当然、書き換え結果は消されてしまう。

これは、X2テンプレートの仕組み・意義を理解していない開発者による改悪だと思われる。

Page Top

defaultテンプレートセット内のテンプレート anchor.png

DBテンプレート。ファイルとしては確認できない。 altsysやテンプレート管理などから確認可能。

モジュール管理から、モジュールをアップデートすると、「XOOPS_ROOT_PATH/modules/(dirname)/templates/に置かれたファイル群」から、データベース内にコピーされる。(すでにあった、defaultテンプレートセットのテンプレート内容は上書きされる)

オリジナルのX2およびXCL2.1では、この動作を経てはじめて、上記ファイル群の更新されたテンプレートが反映されることになる。

Page Top

カスタムテンプレートセット内のテンプレート anchor.png

DBテンプレート。ファイルとしては確認できない。 altsysやテンプレート管理などから確認可能。

Page Top

ブラウザベースでのカスタマイズ手順 anchor.png

Page Top

誤った方法 anchor.png

Page Top

テンプレートマネージャ(管理)でテンプレートセットを複製する anchor.png

X2ではこの方法しかなかったため、未だにこの方法で紹介しているサイト・書籍が多いが、今となっては「誤り」と言って良いレベル。

ここでテンプレートセットごと「複製」してしまうと、カスタマイズする予定のないテンプレートまで複製されてしまい、モジュールを上書きアップデートしても、一向に反映されないことになる。

Page Top

正しい手順 anchor.png

Page Top

altsysのインストール anchor.png

何はともあれ、最新版のaltsysをインストールする。 これがなければはじまらない。

Page Top

空のテンプレートセット作成 anchor.png

altsysのテンプレート管理画面、一番下にある「新規にテンプレートセットを作成する」から、ベースに「(空)」を選んで、セット名を入力し、「新規作成」する。 名前は何でも良いが、"custom" や "user" などが判りやすいだろう。 (以下は、customとして説明する)

Page Top

テンプレートセットを変更 anchor.png

X2であれば、「システム管理」「一般設定」「一般設定」から、デフォルトのテンプレート・セットについて、"custom"を選択。

XCL2.1であれば 「互換レンダーシステム」「テンプレート管理」から、さきほど作った"custom"テンプレートセットを "ACTIVE" にする。

Page Top

各テンプレートのカスタマイズ anchor.png

Page Top
カスタマイズしたいモジュール/テンプレート名が判っている場合 anchor.png

altsysから、「テンプレート管理」「(モジュール名)」と進み、カスタマイズしたいテンプレート(複数可)をチェックして、画面下の行先で"custom"を選び、「コピー実行」

あとは、"custom"にある、該当テンプレートを編集する。

Page Top
カスタマイズしたいモジュール/テンプレート名が判らない場合 anchor.png

altsysの「テンプレートの高度な操作」に入り、「テンプレートを枠で囲う」をクリック。 再度、公開側を表示すれば、テンプレート単位で枠が囲ってあるので、編集したい枠内にある "Edit:" リンクをクリックして編集する。

ただしこの場合、defaultテンプレートを直接編集していることになるので*1)、編集終了後に、忘れずに編集したテンプレートについて、defaultからcustomテンプレートにコピーしておくこと。

それを忘れたままでいると、後でモジュールアップデートした時に変更内容が失われて泣くことになる。

Page Top

ファイルベースでのカスタマイズ手順 anchor.png

Page Top

誤った方法 anchor.png

Page Top

modules/(dirname)/templates以下のテンプレートを書き換え、モジュールアップデート anchor.png

これはモジュール作者がデフォルトテンプレートを更新する時に使う手段である。 モジュールユーザがこの手段を使うと、やはりモジュール更新時に泣くことになる。

Page Top

正しい手順 anchor.png

Page Top

テーマ下テンプレート anchor.png


*1 (customが選択されている以上、Editリンクをクリックするだけで、自動的にdefaultからcustomにコピーしてcustomを編集するべきではないかという指摘はもっともだが、それはaltsysの今後の課題である

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 11435, today: 4, yesterday: 6
Princeps date: 2009-08-05 (Wed) 06:17:24
Last-modified: 2014-01-13 (Mon) 22:06:02 (JST) (232d) by GIJOE
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities