73 Cargando todos los DATOS en la VISTA PELÍCULAS de nuestra PÁGINA WEB (LARAVEL y MYSQL) FULLSTACK

Duración: 14 min
Módulo: 🎬 Módulo de Vistas Públicas y Funcionalidades Core Lección 9 de 16

Descripción

📺  Lección 73: Carga de Datos en la Vista de Películas

Esta lección avanzada se dedica a estructurar y poblar la vista de detalle de la película (pelicula.blade.php), utilizando los datos de la variable $pelicula obtenida del controlador en la lección anterior.

1. 🏗️ Uso de Plantillas (Layouts) [00:46]

Antes de diseñar la vista, se realiza una refactorización necesaria para aplicar la misma estructura de página (menú, header, footer) en todas las vistas, incluida la nueva.

  • Creación de la Plantilla Principal: Se crea un nuevo archivo de layout llamado principal.blade.php [01:06].
  • Contenido Fijo: Todo el código HTML de la estructura fija (menú de navegación, scripts y estilos) se mueve a esta plantilla [01:41].
  • Slot de Contenido (@yield): Se define un slot con @yield('content') (o similar) para indicar el área donde cada vista cargará su contenido dinámico [02:22].
  • Herencia en la Vista: La vista index.blade.php y la nueva vista pelicula.blade.php heredan de esta plantilla usando @extends('principal') [03:25, 04:14].

2. 🗄️ Despliegue de Datos en el Detalle [05:08]

Se estructura la vista pelicula.blade.php utilizando columnas de Bootstrap y se inyectan dinámicamente todos los datos del registro de la película.

2.1. Inyección de Título e Imagen

  • Título Principal: Se imprime el nombre de la película ($pelicula->titulo_p) en la cabecera de la vista [05:32].
  • Imagen y Tráiler: Se divide la vista en columnas (ej. 6x6) para mostrar la imagen de la portada ($pelicula->imagen_p) y el tráiler (iFrame) lado a lado [06:06].
    • Para el tráiler, se utiliza un <iframe> de YouTube con la URL del tráiler ($pelicula->trailer_p) [06:56].

2.2. Despliegue de Metadatos y Descripción

  • Descripción: Se imprime la descripción completa de la película, utilizando {! $pelicula->descripcion_p !} para renderizar el HTML guardado (negritas, cursivas, saltos de línea) sin escapar etiquetas [08:24].
  • Categoría y Duración: Se muestran otros datos esenciales:
    • Categoría: $pelicula->categoria_p [09:35].
    • Duración: $pelicula->duracion_p [10:24].

3. ▶️ Enlaces a Servidores de Reproducción [10:50]

El último componente crítico es proporcionar los enlaces a los servidores donde se aloja la película para su reproducción.

  • Botones de Reproducción: Se colocan botones (clase btn btn-primary) después del tráiler para enlazar a los servidores.
  • Opción 1 y Opción 2: Se configuran dos botones que utilizan los campos link_1_p y link_2_p de la base de datos como destino (href) [11:15].
  • Ventana Nueva (target="_blank"): Se utiliza el atributo target="_blank" para que el enlace del servidor se abra en una pestaña nueva [11:47].
  • Validación: Se demuestra que la vista funciona correctamente, mostrando los detalles exactos de cualquier película al hacer clic en su respectivo ítem en la página principal [12:44].