81 WebController cargar horario en la página principal en Sistema con LARAVEL(PHP-MySql) FullStack

Duración: 17 min
Módulo: 🔑 Seguridad, Roles y Permisos Lección 11 de 15

Descripción

🗓️💻 Lección 81: Carga de Horarios de Atención en la Página Principal

Esta lección se enfoca en la preparación del frontend y backend para mostrar los horarios de atención de los doctores en la página principal del sitio web, permitiendo a los usuarios ver la disponibilidad sin necesidad de iniciar sesión.

1. Corrección de Errores y Preparación de Datos

Se corrige un error sintáctico crucial en el archivo de rutas que causaba fallos al intentar acceder a rutas restringidas [01:34]:

  • Error Corregido: En las rutas protegidas por middleware (web.php), el símbolo . (punto) fue usado por error en lugar de los dos puntos (:) en la sintaxis de can, lo que generaba un error 403 al intentar cargar las páginas.

Una vez corregido el error, se procede a llenar la base de datos con horarios de prueba para los consultorios creados en la lección anterior [03:24]:

  • Pediatría: Se asignan horarios al Doctor 1 (Dr. Swift) para los días lunes, viernes y miércoles [00:03:40 - 00:05:10].
  • Fisioterapia: Se asigna un horario para los martes al Doctor 3 (Dr. Valdés) [05:43].
  • Odontología: Se asigna un horario para los jueves al Doctor 2 (Dr. Barrientos) [06:01].

2. Creación del WebController para Vistas Públicas

Se establece un nuevo controlador dedicado a gestionar las vistas públicas que no requieren autenticación:

  • Controlador: Se crea el WebController [08:14].
  • Ruta Principal: Se modifica la ruta principal (/) para que sea manejada por el método index del WebController, permitiendo que el sistema cargue datos desde la base de datos antes de mostrar la página [09:27].

3. Integración de la Vista de Horarios en el Index Público

Se traslada la lógica de presentación de consultorios desde el panel de administración a la vista principal del sitio web.

  • Carga de Consultorios: El WebController consulta la base de datos para obtener todos los consultorios disponibles (Consultorio::all()) y los pasa a la vista [14:50].
  • Contenido de la Vista: Se inserta el componente visual de selección de consultorios en el archivo index.blade.php (la página principal del sitio), bajo el título "Calendario de Atención de Doctores" [15:23].

Resultado: La página principal ahora muestra un select con todas las especialidades disponibles, preparando la funcionalidad para que el usuario, al seleccionar un consultorio, pueda ver los horarios disponibles sin necesidad de login [16:16].