Ho bisogno di accedere a un'entità in twig da symfony2. All'interno del controler, posso fare qualcosa come:Il metodo redirectToRoute() può avere argomenti come render()?
return $this->render('frontendBundle::carrodecompras.html.twig', array(
'entity' => $entity
));
E poi nel ramo posso accedere alle proprietà di entità con entity.name
e così via.
ho bisogno di ottenere la stessa cosa, ma con la funzione redirectToRoute()
return $this->redirectToRoute('frontend_carrodecompras', array(
'entity' => $entity,
));
Ma non sembra funzionare.
sto ottenendo il seguente errore:
Variabile "entità" non esiste in frontendBundle :: carrodecompras.html.twig alla linea 32
EDIT: sto usando Symfony 2.7
esiste la $ entità variabile (in realtà è chiamato $ cortina in app stavo usando $ entità di semplificazione), poco prima che la funzione redirectToRoute ho fatto questo per testarlo
echo "<pre>";
var_dump($cortina);
echo "</pre>";
return $this->redirectToRoute('frontend_carrodecompras', array(
'cortina' => $cortina,
));
E il risultato è questo:
object(dexter\backendBundle\Entity\cortina)#373 (16) {
["id":"dexter\backendBundle\Entity\cortina":private]=>
int(3)
...
Questo è il codice 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>
È necessario confermare e accertarsi che "$ entity" effettivamente esista. – jbafford
l'entità viene mantenuta nel database prima che venga chiamato il metodo redirectToRoute, quindi l'entità $ esiste! – enlego
Dubito che '$ entità' esista in realtà dove stai chiamando' redirectToRoute'. Puoi fornire un contesto aggiuntivo? Forse la funzione che sta chiamando redirectToRoute se non è troppo grande? O almeno mostrando il percorso del codice da dove viene definito '$ entity' dove viene utilizzato? – jbafford