Que tal, tengo una duda, ¿hay forma que cuando se usa render()
para ir a una página PHP en Symfony la URL cambie? Es que uso render()
porque redirect()
no me sirve, pero el problema es que cuando uso render()
la URL no me cambia cuando me envía a la otra página y quisiera que se cambie.
Gracias de antemano.
Respuestas
La función render()
sirve para que un trozo de la página sea generado por el controlador que le indicas, así que no te va a servir para redirigir a otra página. Si quieres redirigir a una URL pero el redirect()
no te sirve, entonces seguramente debas utilizar el método forward()
tal y como se explica en el capítulo sobre controladores del libro de Symfony.
@javiereguiluz
Ya probé el forward()
y la URL sigue igual. Solo el redirect()
me cambia la URL, pero con el redirect()
no puedo usar la página PHP en vez de Twig. Solo con render()
o forward()
se puede. ¿Cómo podría hacer para que la URL cambie?
@piocarluis
Para poder ayudarte necesitaría saber con detalle lo que quieres hacer. Por ejemplo: ¿Cómo quieres redireccionar? (pinchando un enlace o botón, automáticamente desde el controlador, etc.) ¿Desde dónde y hacia dónde quieres renderizar? (hablas de una página PHP pero no se si está dentro de la aplicación Symfony o no)
@javiereguiluz
Claro, mi pantalla inicial es un login y tengo un home hecho en PHP, debido a que tenía que hacer algunas consultas y usé PHP en vez de Twig.
Pero para usar una página PHP en vez de una Twig es necesario usar el render()
porque el redirect()
no sirve. Pero cuando uso el render()
me envía al home
normal pero la URL sigue diciendo /login
y no dice /home
pero si yo la cambio manualmente para que diga /home
no pasa nada pero yo quiero que me salga directamente /home
.
@piocarluis
Como dices que la página inicial es un formulario de login y también dices que estás usando Symfony, supongo que estarás creando el login con Symfony. Si es así, tienes un montón de formas diferentes de redireccionar después de hacer login en Symfony. Además no importa que la página a la que quieres ir sea una página PHP. Simplemente indica la URL de esa página PHP y ya está.
@javiereguiluz