[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 メーリングリストの案内