Мне нужно получить доступ к объекту в twig из symfony2. Внутри контроллера я могу сделать что-то вроде:
return $this->render('frontendBundle::carrodecompras.html.twig', array( 'entity' => $entity ));
И затем в twig я могу получить доступ к свойствам сущности с entity.name
и тому подобное.
Мне нужно выполнить одно и то же, но с функцией redirectToRoute()
return $this->redirectToRoute('frontend_carrodecompras', array( 'entity' => $entity, ));
Но, похоже, это не работает.
Я получаю следующую ошибку:
Переменная «entity» не существует в frontendBundle :: carrodecompras.html.twig в строке 32
EDIT: я использую Symfony 2.7
Сущность переменной $ существует (она фактически называется $ cortina в приложении, в котором я использовал $ entity для упрощения), как раз перед функцией redirectToRoute я сделал это, чтобы проверить это
echo "<pre>"; var_dump($cortina); echo "</pre>"; return $this->redirectToRoute('frontend_carrodecompras', array( 'cortina' => $cortina, ));
И вот результат:
object(dexter\backendBundle\Entity\cortina)#373 (16) { ["id":"dexter\backendBundle\Entity\cortina":private]=> int(3) ...
Это код Twig:
<tr> {% set imagentela = "img/telas/" ~ cortina.codInterno ~ ".jpg" %} <td><img src="{{ asset(imagentela | lower ) }}" alt="" width="25" height="25"> </td> <td>{{ cortina.nombre }}</td> <td>{{ "$" ~ cortina.precio|number_format('0',',','.') }}</td> </tr>