EMLHで英語と日本語でフォームを分ける

Date 2008-06-20 11:49:48 | Category: XOOPS

in englishin japanese
EMLHに限らず、多言語系のHackはデータ入力にやや困難を抱えています。

[en]English[/en][ja]日本語[/ja]

こんな形でテキストを書いて欲しい、とお願いしても、タイプに慣れている人じゃないと難しいでしょう。

というわけで、EMLH 1.30 でそういう機能を実装してみました。
http://xoops.peak.ne.jp/md/mydownloads/singlefile.php?lid=50&cid=2

フォームがテンプレート化されていれば簡単です。

例えば、pico の main_content_form.html であれば、

<input type="text" name="subject" id="subject" size="80" maxlength="255" value="<{$content.subject}>" />

という一つの<input>をこんな感じの2つの<input>に分割します。

English: 
<input type="text" name="subject[en]" id="subject[en]" size="80" maxlength="255" value="<{$content.subject|easiestml:"en"}>" />
Japanese:
<input type="text" name="subject[ja]" id="subject[ja]" size="80" maxlength="255" value="<{$content.subject|easiestml:"ja"}>" />


valueの部分に、easiestml() をかける、というのがミソです。

cubeUtils版もおそらくは、ほぼ似たようなやり方で行けるでしょう(もしかしたらコンパイルタイミングの問題でSmartyプラグインを明示的に用意しなければならない可能性はあります)。

XCL用preloadは次回のネタとします。

# 私なんかはフォームが言語毎に別れているより、一つの入力エリアでエイヤっと全部テキスト入力出来る方がよほど嬉しかったりしますが





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