[ethna-users:0937] Re: ActionFormとgettext

cockok cockok @ cheki.net
2008年 5月 12日 (月) 17:24:22 JST


cockokです。
ActionFormにそれっぽいメソッドがあったのでやってみました。

gettextのmoファイルを下記に配置
    プロジェクトディレクトリ/locale/ja/LC_MESSAGES/{APPID}.mo

{APPID}_ViewClassのgetFormNameメソッドをオーバーライド
    function getFormName($name, $action, $params)
    {
        $af =& $this->_getHelperActionForm($action, $name);
        if ($af === null) {
            return $name;
        }
        return $af->getName($name);
    }

アクションフォームのフォーム定義(nameプロパティを書くとそちらが優先されるので書かない)
     var $form = array(
        'name' => array(
            'type'        => VAR_TYPE_STRING,
            'form_type'   => FORM_TYPE_TEXT,
            'required'    => true,
        ),
     );

テンプレート
{form_name name="name"}{message name="name"}

こんな感じでいけました。
ValidateプラグインをUTF-8化してないとダメそうですが。

以上、よろしくお願い致します。

2008/05/09 18:56 Yoshinari Takaoka <takaoka @ beatcraft.com>:
> 高岡です。
>
>  伊藤さん、早速の返信ありがとうございます。
>
>  2008/5/9 ITOH Takashi <itoh @ tohokuaiki.jp>:
>
> >> gettextを使うにせよ、そうでないにせよ、メッセージをファイルに追い出
>  >> して、そうしたヘルパを書くしかないと思っていますが、伊藤さん、どう対
>  >> 応されましたか?
>  >
>  > いまいち感ただよいまくりなのですが、Validateプラグインとかの
>  > デフォルト日本語エラーメッセージとかもまとめて、結局define方式で
>  > やってしまいました。
>
>  なるほど、、(´ー`;)
>
>  最終的には ActionFormのフォーム定義をメッセージファイルにどう対応
>  付けるかが鍵だと思っています。そのためのファイルフォーマットを今考え
>  中です。(iniファイル? phpファイル? gettextを使う場合との整合性は?
>  などなど、、、)
>
>  この点に関して、御意見等あれば、遠慮なく皆さん仰ってください。
>
>  どうぞ宜しくお願いします。
>
>
>  --
>  Yoshinari Takaoka
>  takaoka @ beatcraft.com
>
>
> _______________________________________________
>  Ethna Users List
>  users @ ethna.jp
>  http://ethna.jp/mailman/listinfo/users
>


users メーリングリストの案内