Sistema de temas y plantillas

Estructura de un tema

Los temas se ubican en themes/{nombre-tema}/ y contienen:

  • theme.json - Configuración del tema (nombre, opciones, áreas de contenido)
  • views/ - Plantillas Blade
  • views/layouts/ - Layouts principales (app.blade.php)
  • views/partials/ - Partials reutilizables (header, footer, sidebar)

Plantillas de página

Cada archivo .blade.php en views/ es una plantilla disponible. Las plantillas especiales:

  • page.blade.php - Plantilla de página por defecto
  • home.blade.php - Página de inicio
  • single.blade.php - Artículo de blog
  • category.blade.php - Archivo de categoría
  • product.blade.php - Página de producto

Opciones del tema

El archivo theme.json define opciones visualizables desde el admin. Soporta:

  • Selección de colores, tipografía, logos
  • Toggle de componentes (topbar, footer, sidebar)
  • Estructura de página (clásica, sidebar, full-width)
  • Áreas de contenido con soporte para widgets

Sistema de widgets

Los widgets se asignan a áreas definidas en el tema. El WidgetManager renderiza cada área según la configuración del tenant.