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 回答