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