D3モジュールと言語処理(2)

Date 2006-10-02 04:04:39 | Category: XOOPS

in englishin japanese
「モジュールインスタンス毎に異なる言語定数を割り当てたい」

良くある要望です。そして、D2までは不可能でした。

でもD3なら大丈夫です。
XOOPS_ROOT_PATH/modules/(dirname) の下は、基本的にユーザが自由にいじってよい領域なのです。

例えば、modinfo.phpの言語定数をオーバーライドしたければ、XOOPS_TRUST_PATH/modules/(trustdirname)/language/(lang)/modinfo.php を XOOPS_ROOT_PATH/modules/(dirname)/language/(lang)/modinfo.php にコピーして編集すれば良いのです。

これだけで簡単にオーバーライドできています。それもモジュールインスタンス毎に反映されます。(モジュールの多態性)

admin.php や main.php の場合は言語ファイルの構造がやや異なりますが、むしろより簡単だと言えるでしょう。

言語定数の定数名が、modinfoやblocks_eachにおいては、各モジュールインスタンスのdirnameベースであるのに対して、main,admin,blocks_commonについては、trustdirname(wrapsやd3forumなど)ベースであることに注意が必要です。




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=363