コントローラの3つの異なるアクションに同じビューを使用する必要があります。すべてのアクションに対して1つのビューをレンダリングするにはどうすればよいですか?私はグーグルで検索しましたが、何も役に立ちませんでした...そして重要なのはコハナ3.0.11を使用することです
質問する
253 次
2 に答える
2
各アクションでビューを作成することの何が悪いのですか?
action_1()
{
$view = View::factory('something');
// rest of code
}
action_2()
{
$view = View::factory('something');
// rest of code
}
action_3()
{
$view = View::factory('something');
// rest of code
}
または、アクションの前にベースコントローラにビューを保存し、子コントローラでアクセスすることもできます。
class Controller_Base
{
protected $_view;
public function before()
{
$this->_view = View::factory('something');
}
}
class Controller_Yours exnteds Controller_Base
{
public function action_1()
{
// use $this->_view to get it
}
public function action_2()
{
// use $this->_view to get it
}
public function action_3()
{
// use $this->_view to get it
}
}
于 2012-08-08T14:43:54.407 に答える
0
メソッドを作成してビューを返すことができます
...
private function myView($param1, $param2=NULL) {
return View::factory('myView')
->bind('param1', $param1)
->bind('param2', $param2);
}
public function action_view1() {
return $this->myView('param1');
}
public function action_view2() {
return $this->myView('param1', 'param2');
}
于 2012-09-01T04:28:15.670 に答える