Saltar al contenido principal

Configuración general

Hay ajustes que no pertenecen a ningún módulo específico: son del sistema completo. Todos viven bajo Configuración en el menú lateral.

Categorías de configuración​

🎨 Apariencia​

  • Marca / Identidad: nombre del dashboard, logo (horizontal, fondo transparente) y favicon (cuadrado, 32×32 px o más).
  • Colores del tema: primario (botones, acentos), fondo del sidebar, fondo del ítem activo, color del texto activo, borde/separadores.
  • Paletas predefinidas por si no quieres elegir color por color.
  • SEO por defecto para páginas públicas.
  • Purgar caché — botón importante. Úsalo si cambiaste algo y el sitio público sigue mostrando lo anterior.

Ver Logo, colores y tema.

📧 Correo​

Servidor SMTP que envía todos los correos del sistema (recuperación de contraseña, credenciales del portal, notificaciones de workflow, formularios recibidos, reportes programados).

  • Email remitente: debe existir en tu hosting (ej. no-responder@tuempresa.cl).
  • Nombre remitente: cómo se ve en la bandeja.
  • Servidor SMTP + puerto + seguridad: típicamente mail.tudominio.cl, puerto 465 con SSL o 587 con TLS.
  • Usuario y contraseña: los que te dio tu hosting.
  • Probar la configuración: envía un correo de prueba y verifica que llegue.
Guarda antes de probar

El envío de prueba usa lo que está guardado en la base de datos, no lo que acabas de escribir en pantalla. Si pruebas sin guardar, estarás probando la configuración anterior.

Ver Plantillas de correo.

👥 Usuarios​

Da de alta y gestiona los usuarios del CMS. Ver Usuarios, roles y permisos.

🔐 Roles y Permisos​

Matriz rol × página × acción (Leer, Crear, Editar, Eliminar). Requiere plugin RBAC Manager. Ver RBAC Manager.

📄 Páginas Web​

El generador de páginas públicas. Ver Publicar páginas web.

Ahí adentro, el botón Datos del sitio guarda lo que identifica y lo que contacta a tu sitio público: nombre, título y descripción por defecto, más teléfono, WhatsApp, correo, dirección, horario de atención y tus redes sociales. Esos datos salen impresos en el pie de todas tus páginas, así que cambiar el teléfono es editar un campo, no llamar a alguien. Ver Datos del sitio.

Al lado, CSS y JavaScript del sitio guarda la hoja de estilos y el script que valen para todas tus páginas públicas — las tipografías, los colores y el comportamiento del sitio. Ver CSS y JavaScript del sitio.

📦 Empaquetado​

Genera paquetes .zip (propio, cliente o actualización) y restaura paquetes recibidos. Incluye Restablecer de fábrica en la zona de peligro. Ver Empaquetar y desplegar.

🔄 Actualizaciones​

Muestra tu versión, busca si hay una nueva, guarda historial de actualizaciones aplicadas. Ver Actualizar a nuevas versiones.

🔒 Licencia (solo en instalaciones licenciadas)​

Estado (Activa o En período de gracia), última validación con el servidor del proveedor, plugins habilitados. Botón Revalidar ahora fuerza validación inmediata. Ver License Server.

📜 Logs (Registro de actividad)​

Registra quién hizo qué y cuándo. Filtros por acción, entidad y rango de fechas. Es lo primero que hay que mirar cuando alguien dice "yo no fui" o cuando desaparece un dato.

Cada línea trae fecha, acción, entidad afectada, ID de la entidad, usuario, IP y descripción.

Ajustes globales del sistema​

Además de las categorías con UI propia, hay una tabla de ajustes clave-valor interna (cms_settings) que guarda:

  • Configuración del tema (theme_*).
  • Valores SEO por defecto (seo_*).
  • Credenciales SMTP guardadas desde el panel (email_*).

Estos ajustes tienen prioridad sobre lo que esté en los archivos config.php.

Precedencia del correo

Si guardaste el SMTP desde Configuración → Correo, ese valor sobrescribe lo que tengas en cms/config.php. Es la causa típica de "edité el archivo pero nada cambió".

Configuraciones que están en archivos (no en el panel)​

Algunas configuraciones críticas viven en archivos y solo tu equipo técnico las toca:

ArchivoQué configura
api/config.phpCredenciales de base de datos, API Key, JWT Secret.
cms/config.phpURL de la API, timezone, formato regional (moneda, fechas), licencia (license.role, server_url, key, public_key).
web/config.phpURL de la API para las páginas públicas (creado por setup.sh). El nombre del sitio y sus datos de contacto también viven aquí, pero se editan desde el panel — ver Datos del sitio.

Estos archivos no se suben a git (están en .gitignore).

El rol de licencia (license.role)​

Se escribe una sola vez en cms/config.php:

  • server — es tu servidor. Aquí vive el panel de licencias.
  • workstation — es tu computador de trabajo o el de tu equipo. Arma sistemas de clientes y crea paquetes.
  • client — es el hosting de un cliente que atiendes. Solo usa el sistema.

Ver License Server para detalles.

Formato regional (moneda, fechas)​

En cms/config.php hay un bloque opcional localization:

'localization' => [
'currency' => [
'symbol' => '$',
'decimals' => 0, // Chile
'thousands_sep' => '.', // Chile
'decimal_sep' => ',', // Chile
],
'date_format' => 'd-m-Y',
'datetime_format' => 'd-m-Y H:i',
'time_format' => 'H:i',
],

Si no está configurado, se usan defaults ($ con 2 decimales, d-m-Y).

Zona horaria​

Configurada en cms/config.php con date_default_timezone_set(). Ejemplos:

  • America/Santiago (Chile)
  • America/Mexico_City (México)
  • Europe/Madrid (España)

Afecta a todos los timestamps: fechas de creación, log de actividad, correos. La aplican tanto el panel como el sitio público, así que los dos muestran la misma hora de los mismos datos.

El servidor de base de datos tiene que marcar la misma hora

Las filas se guardan con el reloj de MySQL y las pantallas deciden qué es «hoy» con el reloj de PHP. Si los dos están en husos distintos, nada falla ni avisa: simplemente, unas horas cada noche, «las ventas de hoy» y los resúmenes del día pasan a mirar el día siguiente y salen vacíos.

Compruébalo con php tools/doctor.php: la sección RELOJ compara los dos y avisa si se separan más de un minuto.

¿Qué sigue?​