3

にメッセージのレイアウトをいくつか入れたいのですがMessageComponent。そのsendメソッドは、ビュー(レイアウト)で使用される変数の配列を取得し、それらを使用してメッセージをレンダリングしてから送信する必要があります。

質問は:

コンポーネント内の変数の配列を使用してビュー(レイアウト)をレンダリングするにはどうすればよいですか?印刷する代わりにレンダリングされたコンテンツを取得します(コンポーネントでも)

ありがとう。

4

1 に答える 1

7

(編集:質問を読み間違えた)

レンダリングされたビューのHTMLを取得する場合は、次のようにします。

$view = new View($this, false);
$view->set(compact('foo', 'bar')); // set variables
$view->viewPath = 'elements'; // render an element
$html = $view->render('message'); // get the rendered markup

これは、コンポーネントだけでなくコントローラーでも機能するはずです。

于 2012-08-19T08:30:46.367 に答える