jairogarcíarincón
06/09/2023
Contenidos
- Objetivos
- Instalación
- Configuración
- Base de datos
- Plug-ins
- Enrutando la home
- Layout y rutas del front-end
- Noticias en el front-end
- Resto de vistas del front-end
- Auth
- Layout del back-end
- Vistas y acciones de Auth
- Usuarios en el back-end
- Noticias en el back-end
- Helpers
- Paginación de noticias
- API de noticias
- Cambiar contraseña con envío de email
- Conclusiones
- Práctica: CMS con Laravel
Introducción
Actualmente al entrar en la dirección de la home, vemos que nos aparece algo cómo lo siguiente:
¿De dónde sale esta vista?
Básicamente, es la única ruta que puedes ver registrada en el archivo routes/web.php:
A medida que vayamos desarrollando el proyecto iremos añadiendo rutas a este fichero.
En este caso, cada vez que el usuario introduce la ruta de la home, Laravel le encamina directamente a la vista mediante el método view() , sin pasar por ningún controlador o acción concreta. Fíjate además que basta con poner el nombre de la vista (welcome) para que Laravel sepa que tiene que buscar dentro de la carpeta resources/views un archivo con ese nombre seguido de .blade.php.
Blade
Las plantillas Blade son la forma más sencilla de construir vistas en Laravel intercalando contenido PHP y HTML.
Si bien no estás obligado a usarlas y puedes usar PHP como hasta ahora, lo cierto es que una vez que te acostumbre verás que es mucho más sencillo construir las plantillas de esta manera. Puedes encontrar toda la información en ESTA DIRECCIÓN.
Enrutar la home a una acción de un controlador
De forma similar a como hicimos en el CMS desde cero, vamos a modificar el archivo de rutas para que antes de mostrar la vista de la home pasemos por una acción del controlador, de modo que después podamos recoger las noticias a través del modelo correspondiente.
Modifica el archivo routes/web.php:
Como ves, hemos modificado la ruta de modo que llame a la acción index() dentro del controlador AppController. Además, hemos dado un nombre a la ruta para poder identificarla fácilmente a la hora de construir enlaces.
El siguiente paso sería crear el controlador (archivo app/Http/Controllers/AppController.php), que extenderá al Controller principal e incluirá dicha acción, así como la llamada a la vista correspondiente:
Si nos fijamos en la llamada a la función view() dentro del método index(), vemos que hace referencia a la vista app.index. Esto le indica a Laravel que dentro de resources/views debe buscar una carpeta llamada app y dentro de ella el archivo index.blade.php.
Por tanto, solo nos quedaría crear dicho archivo resources/views/app/index.blade.php y añadirle cualquier texto (Hello World, por ejemplo) para comprobar que la ruta funciona correctamente.
En el siguiente apartado crearemos el layout del front-end y se lo añadiremos al archivo resources/views/app/index.blade.php recién creado.
Publicado el 29 de Enero de 2025
bloggestor de contenidoslaravelphpcssjquery