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

[XCL] サイト専用の言語定数を追加する

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/11/22 21:45
kilica  Warrant Officer 居住地: 2004年ごろから?  投稿数: 201
サイトを制作する際に、言語定数(テンプレートで<{$smarty.const_MD_XXX_}>とか書かれているやつです)を追加したくなることが多々あります。

モジュール制作者であれば、簡単にモジュール用の言語定数を追加できますが、テーマ制作者やサイト制作者はそうは行かないので、テーマファイルに直接表示したい文字を書き込んだりすることになります。
まあそれでも問題ないのですが、サイトのあちこちで出てくる単語だと、書き換える必要が出てきたときに面倒なので、言語定数を使いたくなることもあります。

XOOPS Cube Legacy であれば、実はお手軽に言語定数を追加することができます。
プリロードファイルに、書けばいいのです。

ThemeLanguage.class.php などのファイルを作り、
<?php
if (!defined('XOOPS_ROOT_PATH')) exit();

define('_THEME_LANG_LINK', 'リンク');
define('_THEME_LANG_OPEN', '開く');
?>
のように、定数を定義すればOKです。

これをプリロード用のフォルダ、つまり public_html/preload(例:http://example.com/preload)に置いておけば、読み込んでくれます。

これで、テーマファイルやテンプレートファイルで、
<{$smarty.const._THEME_LANG_LINK}>
と書けば、「リンク」と表示されます。
投票数:3 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/11/26 3:44
GIJOE  Admiral 居住地: 2003年4月くらい  投稿数: 3708
良いアイデアですね。
preloadって、ファイルがあるだけで、パース・実行してくれるから、こういう簡単な使い方は他にも結構あるかもしれません。

.htaccessやphp.iniの効かない環境用に、ini_set()をずらずら書くだけ、なんてpreloadも考えられますね。
投票数:1 平均点:10.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities