2
パーシャルビューに変数を渡す明確な方法を探しています。私は私のコントローラで変数をパーシャルビューに渡す方法をきれいにする
::次のコード例を考えてみましょう
私は私の articles.phtmlビューで$this->view->articles = $arrayWithArticles;
$this->render('articles.phtml');
:
:私は別のコントローラでforeach($this->articles as $article) {
// show article
$this->render('comments.phtml');
}
$this->view->products = $arrayWithProducts;
$this->render('products.phtml');
私のproducts.phtmlビュー私は:
foreach($this->products as $product) {
// show product
$this->render('comments.phtml');
}
あなたは私が書かれた記事だけでなく、製品についてのコメントを表示するために同じ(部分)ビューcomments.phtmlを使用見ることができるように。私が表示したい「コメント」は$article->comments
と$product->reviews
です。部分ビューには、これらを表示するために必要になります。
部分ビューにそれらを渡す明確な方法はありますか。私は本当にしたくない:
$this->comments = $article->comments;
$this->render('comments.phtml');
これは潜在的に(つまりビューのようにコントローラの両方で同じビューの変数を設定する)トラックオフ保つために苦痛になるので。
パーシャルビューに変数を渡すクリーンなソリューションはありますか?