Laravel 5.4 #5 : Profundizando en Blade

En esta entrada vamos a profundizar en Blade. Vamos a crear un layout y extenderlo desde los diferentes templates, también vamos a utilizar includes para incluir desde una vista a parte los errores y el formulario de envío de posts. Y también utilizaremos los condicionales de Blade para mostrar un mensaje si no hay posts en la lista.

Layout y extenderlo

Un layout es una plantilla padre que puede contener un header, footer, etc. común para varias vistas. Esto nos evita la tarea de escribir lo mismo varias veces, solamente con escribirlo una vez y dinamizando lo que no se comparte (título, links activos del menú, etc.), ya estaría todo.

Creamos un fichero en  resources/views que se llame layout.blade.php y contendrá lo siguiente:

Y ahora lo extendemos en nuestras vistas (posts.blade.php y post.blade.php). Quedarían así:

Lo que hace es en el div con id container añadir el código que está en @section(‘content’).

 

Includes

Ahora vamos a separar el formulario de envío de posts y la sección de errores en vistas separadas, para si se diese el caso poder reutilizarlas sin tener que volver a escribir el mismo código.

Cogemos el código del formulario que está en posts.blade.php  y lo ponemos en un archivo separado:

Y hacemos lo mismo con los errores:

En posts.blade.php deberemos sustituir lo que acabamos de copiar en las vistas nuevas por:

Con todo esto ya estamos incluyendo las nuevas vistas desde otras separadas. También podríamos reutilizarlas en otras vistas si es necesario, simplemente con los @include.

 

Detectar si hay posts que mostrar

Para detectar si hay posts que mostrar y si no hay mostrar un mensaje, deberemos modificar el bucle foreach de posts.blade.php  y utilizar otra instrucción llamada forelse.

Hay otras maneras de hacer lo mismo, por ejemplo con un if que cuente cuantos posts hay y si hay 0 que muestre el mensaje y si hay más que muestre los posts.

 

Blade es muy extenso, si quieres mirar más cosas sobre él, te dejo aquí el enlace a la documentación.

 

En la siguiente entrada, tratemos un poco más en profundidad Eloquent ORM.


Aloja tu proyecto en DigitalOcean: Obtén $200 de crédito gratis al registrarte a través de este enlace.

Si hay cualquier tipo de error en el post o te surge cualquier duda, no dudes en ponerlo en los comentarios o enviarme un correo desde la página de contacto.

? CONTACTAR

2 comentarios en “Laravel 5.4 #5 : Profundizando en Blade

  1. Hola, despues de estas modificaciones ya no guarda posts, le doy clic en el boton Save y solo me manda una pagina en blanco. Ojala me pudieras ayudar, soy nueva en esto.

Deja una respuesta

  Acepto la política de privacidad