26 @yield('content') en LAYOUT en la PLATAFORMA de PELICULAS con (LARAVEL y MYSQL) FULLSTACK

Duración: 6 min
Módulo: 🖥️ Módulo de Arquitectura Admin y Vistas Blade Lección 8 de 8

Descripción

📐  Lección 26: Implementación de Contenido Dinámico con @yield('content') en Layouts

Esta lección es la culminación de la configuración del sistema de plantillas (layouts) de Blade en Laravel, mostrando cómo se utiliza la directiva @yield('content') en la plantilla maestra para inyectar contenido único y dinámico de cada vista.

1. 🧹 Limpieza de la Plantilla Maestra (layouts.admin.blade.php) [00:23]

Se elimina el contenido estático que la plantilla de AdminLTE traía por defecto para reemplazarlo por un marcador de posición dinámico:

  • Ajuste de Bienvenida: Se personaliza el título de la página principal a "Bienvenido [Nombre del Usuario]" (por el momento, "Bienvenido Freddy") [00:24].
  • Eliminación de Elementos de Ejemplo: Se remueven los cards de ejemplo que ocupaban el cuerpo de la página, dejando una estructura de columna (col-md-12) limpia para el futuro contenido [00:43].
  • Identificación del Área de Contenido: El instructor identifica la sección del código que debe ser única para cada página y, por lo tanto, debe ser reemplazada por un yield [01:51].

2. 🎯 Implementación del Marcador de Posición (@yield) [02:38]

Se define en la plantilla maestra dónde se inyectará el contenido de las vistas secundarias.

  • Directiva @yield: Se introduce la directiva @yield('content') en el lugar exacto del layouts/admin.blade.php donde el contenido de las vistas hijas debe aparecer [02:58].
  • Propósito: Este comando asegura que la estructura de la página (menú, cabecera, footer) se mantenga, mientras que el bloque de código contenido dentro de content cambiará en cada URL [03:17].

3. 📝 Inyección de Contenido en la Vista Hija (@section) [03:32]

Se utiliza la vista de listado de películas (admin/peliculas/index.blade.php) para demostrar cómo se consume el bloque definido en el layout.

  • Directiva @section: Para llenar el espacio definido por @yield('content'), la vista hija debe envolver su código específico dentro de las directivas @section('content') y @endsection [03:32].
  • Contenido Dinámico: Todo el código HTML y Blade que contiene el listado de películas se coloca dentro de este bloque @section [03:52].
  • Resultado Final: Al cargar la URL /admin/peliculas, el sistema une:
    1. La Estructura de AdminLTE (por el @extends('layouts.admin')).
    2. El Listado de Películas (por el código dentro de @section('content')) [04:47]. La navegación (/admin) y el listado (/admin/peliculas) ahora comparten el mismo menú lateral, pero muestran contenido central distinto, logrando una separación y limpieza completa del código.