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の今後の課題である

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 12613, today: 5, yesterday: 3
初版日時: 2009-08-05 (水) 06:17:24
最終更新: 2014-01-13 (月) 22:06:02 (JST) (1284d) by GIJOE
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities