Ответ 1
Используйте $this->renderView()
вместо этого.
$this->render()
возвращает объект Response
, а $this->renderView()
возвращает строку, полученную при рендеринге шаблона.
Я хочу вернуть фрагмент 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?
Используйте $this->renderView()
вместо этого.
$this->render()
возвращает объект Response
, а $this->renderView()
возвращает строку, полученную при рендеринге шаблона.