Подтвердить что ты не робот

Как вернуть шаблон, созданный веткой, как часть ответа JSON?

Я хочу вернуть фрагмент HTML, а также другие значения в строке json, вот что у меня есть:

$html = $this->render('sometemplate.html.twig', array( 'somevar' => $somevar ) );
$response = new Response(json_encode( array("html" => $html, "name" => "Joe Bloggs") ));
$response->headers->set('Content-Type', 'application/json');
return $response;

Но все, что я получаю, это {"html":{"headers":{}}}. Есть ли способ просто захватить отображаемый HTML?

4b9b3361

Ответ 1

Используйте $this->renderView() вместо этого.

$this->render() возвращает объект Response, а $this->renderView() возвращает строку, полученную при рендеринге шаблона.