Re: Re: view.phpでredeclareが

2012年10月24日 at 8:12

formブロッックなんですね。すみません、最近 拡張フォームのソース見てないですが、

loadsurvey() と loadInput() のタグを出力しているメソッド viewに移動してそれ以外のメソッドをcontroller.php の view()から、読み込んで$this->set()で渡す。単純にいうとそういう感じだと思うのですが、現実は複雑そうですね。

Re: view.phpでredeclareが

2012年10月24日 at 8:58
いい方法はなさそうですね。

一旦出力する内容だけを一旦全部配列にためてから、view.phpで取り出して表示するという方法でやるしかなさそうですね。

そうすると一時的にメモリーを多量に消費すると思うので気になるんですがしかたないですかね。
 

Re: view.phpでredeclareが

2012年10月24日 at 9:15
loadsurveyあたりを変えてcontrollerでHTML(テーブル)を出さずに、view側で出す様にするのが王道だと思います。

その他のやり方としては、viewで出力を一旦文字列かxmlとして変数に格納して、テーブルタグをdivタグに書き換えるやり方になると思います。

追記:
loadsurvey()をコピペして、loadsurveydiv()とかを作って、テーブルタグじゃなくてdivタグで出す様にして、view側でviewの内容に合わせてそれぞれを呼び分けた方が楽かもしれませんね。
 

Re: view.phpでredeclareが

2012年10月24日 at 9:58
なるほど、そういう方法になるんですね。

しかしXMLですかあ。
手持ちにPHPでのXML処理のことが書いてある本がないので本屋さんでしらべてみます。

XMLの代わりに一時的にデータベースに置くのはよろしくないですかね。
 

Re: view.phpでredeclareが

2012年10月24日 at 10:03
xmlは忘れてもらっていいと思います。
loadsurvey変えるのが一番いいと思いますよ