2016-08-22 5 views
-1

私はちょうどここで禅を学んでいます:zend:コントローラごとに同じインデックスを使用しますか?

私は、異なる部署のための異なるコントローラを持っていますが、異なる情報を表示しています。

同じインデックスファイルを使用できますか?別のデータはコントローラ内部で決定されるので、同じHTMLファイルをコピーして貼り付けるだけです。

+0

あなたが望むのははっきりしていません。 何が欲しいですか? 何を試しましたか? 問題は何ですか? – Unex

+0

私はShoesControllerのようなコントローラーを持っています。それはindexActionが好きなアクションを持っていますし、viewsディレクトリ/views/shoes/index.phtmlにもビューがあります:そうですが、PantsControllerも同様ですが、同じコントローラ、/views/pants/index.htmlで見ることができますが、実際には両方のインデックスファイルは同じです(異なるデータはコントローラで決定されます) - インデックスファイルをコピーしてコピーする必要がありますかそれを再使用するには? – pnic

答えて

0
class BazBatController extends AbstractActionController 
{ 
    public function doSomethingCrazyAction() 
    { 
     $view = new ViewModel(array(
      'message' => 'Hello world', 
     )); 
     $view->setTemplate('foo/baz-bat/do-something-crazy'); 
     return $view; 
    } 
} 

これは、ビューモデルに「メッセージ」変数を設定し、テンプレート名を「foo/baz-bat/do-something-crazy」に設定します。ビューモデルが返されます。

0

はい、テンプレートを再利用できます。あなたのテンプレートは、あなたが好きしかし構造なので、あなたに理にかなっている一般的なindex.phtmlどこかを作成し、あなたのコントローラのアクションでだけではなく、それがデフォルトで何をするかのテンプレートを使用するビューモデルを伝えることができます。

class ShoesController extends AbstractActionController 
{ 
    public function indexAction() 
    { 
     $view = new ViewModel(); 
     $view->setTemplate('some/shared/index.phtml'); 
     return $view; 
    } 
} 

を入力し、PantsControllerで同じ操作を行います。

+0

ああ、その細部は重要です!ありがとう! – pnic

関連する問題