[PHP-users 25708] Re: mojaviでのサイト構築

町嘉昭 yoshi @ mail.crosswave.co.jp
2005年 5月 31日 (火) 17:14:34 JST


町です。(先ほどはrodyと書きましたが。。)

> Viewを切り替えるのはやはり1つのアクション内で、何らかのきっかけで行うの
> でしょうか?
> 提示して頂いた例で思いつくものは、{ActionName}View_alert.class.phpより表
> 示するフォーム要素へhiddenなどを埋め込み、確認画面からSubmitボタンを押し
> た事をexecute内で判断する?
>
> 例:($someSwitchを判断材料としている)
>
> function execute (&$controller, &$request, &$user) {
>     .....
>     .....
>     .....
>
>     if($someSwitch){
>   //^^^^^^^^^^^^^^^^
>         return VIEW_ALERT;
>     }else{
>         return VIEW_SUCCESS;
>     }
> }

その通りです。
alertのテンプレート内にはhiddenが埋め込まれており、
execute内で判断しています。

ちなみに、VIEW_ALERTを返す際は
QuickFormのfreezeメソッドを実行しますので、
ALEART用のテンプレート内でも以下のように書いています。

<html>
<head>
<body>
{$form.(フィールド名1).html}
{$form.(フィールド名2).html}
</body>
</html


> Submitボタン名もViewで変更したりしていますか?(確認 → 登録のように)
> 

確認画面用と登録画面用のテンプレートを用意することで、
Submitボタン名を変えています。

フォーム一つ作るのに用意しているファイルは以下のとおりです。
現状そんなに不便ではないですが、
もっとスマートな方法があればぜひ知りたいです。

Actionクラスファイル
INPUT用Viewクラスファイル
ALERT用Viewクラスファイル
SUCCESS用Viewクラスファイル
INPUT用テンプレートファイル
ALERT用テンプレートファイル
SUCCESS用テンプレートファイル








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