1

コントローラー B内のコントローラーAから生成された html コードを取得することは可能ですか?

コントローラーA

/**
 *
 *
 * @Route("/{user_id}/cart", name="user_cart")
 * @Template()
 */
public function showCartAction($user_id)
{

    $cart = $this->getCartManager()
        ->getUserCart($user_id);

    return array(
        'cart'=> cart
    );

}

コントローラ B

/**
 *
 *
 * @Route("/html", name="htmlGenerated")
 * @Template()
 */
public function showHTMLAction()
{
    $user_id = 3;

    $html = //How to obtain the html generated by Controller A with UserId = 3 ????
//...

}
4

1 に答える 1

2

コントローラー B でリクエストを転送できます

public function showHTMLAction()
{
    $user_id = 3;

    $html = $this->forward('AcmeDemoBundle:ControllerB:showCardAction', array(
        'user_id' => $user_id,
    ))->getContent();        
}

これで問題なく動作するはずですが、代わりにコントローラーをテンプレートに埋め込むことをお勧めします。

于 2012-08-18T12:39:06.367 に答える