[PHP-users 23930] Re: HTML_QuickForm_Controller から Smarty へのForm要素以外の変数の assign

ITOH Takashi itoh @ kanacli.net
2004年 12月 17日 (金) 13:08:32 JST


伊藤です。

上鍵さんありがとうございます。「まるごと」も購入し拝読致しました。

> ITOH Takashiさんの<20041215105834.3570.itoh @ kanacli.net>から
>> class Page_1 extends HTML_QuickForm_Page { function buildForm(  ){ ..... } }
>> class Page_2 extends HTML_QuickForm_Page { function buildForm(  ){ ..... } }
>
>      間にもう一つ class をかぶせて(ないし Page_[12] でいいんですが)プロ
>    パティ追加.

アドバイスいただいた方法で試してみましたら、Page_1クラスのbuildFormメソッドでの変数を
ActionDisplayクラスに持っていき、Smartyに代入することはできました。
(直接Page_1にプロパティを加えたのですが)

ただ、Action_1クラスのperformメソッド内で使った変数をPage_[12]に持っていき方がわかりません。

QFCの処理については、
1. HTML_QuickForm_Action(乃至そのサブクラス)があればその処理
   ↓
2. 上記で指示された(もしくは、addPageされた順序の)HTML_QuickForm_Page(乃至そのサブクラス)の処理
   ↓
3. HTML_QuickForm_Action_Display(乃至そのサブクラス)の処理
   ↓
4. run

というようにいうように流れていると理解しているのですが。上鍵さんのアドバイスで2.→3.は
いけたのですが、1.→2.がダメです。
HTML_QuickForm_Page::buildForm()が引数を取ってないのでどうしたものかと・・・。



具体的にやりたかったのは、
Page1で、ファイルを選択して
Page2で、そのファイルの内容を適宜処理したものを表示する

というものです。QFCサンプルのupload.phpを基にしたここまでのソースを下に記しました。.phpもあります。
http://219.0.180.84/~itoh/work/smarty_qfc.phps

アップするファイル名を決めうちにしてしまえば、Page_2::buildForm()で
そのファイルを開いて、内容をSmartyに渡せるのですが。


# 正直、QFCは使わないで、QuickFormだけにしようかなと挫折気味・・・

伊藤


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