Módulos y temas
Instalar un zip, activar y desactivar, qué elimina una desinstalación, y cómo protegen tu trabajo los temas hijos.
Los módulos y los temas se instalan igual: un zip que subes en el panel. No hay paso de compilación ni nada que ejecutar desde una terminal.
Instalar un módulo#
Modules > Add toma el zip. Después el panel:
- lo abre en un directorio temporal aislado;
- lee y valida
module.json; - comprueba los requisitos: la versión del core, la versión de PHP, las extensiones y cualquier módulo del que dependa;
- lo mueve a su sitio, ejecuta la instalación y sus migraciones;
- publica sus assets;
- limpia las cachés.
Si un requisito no se cumple, la instalación se rechaza con el motivo. Nada queda a medio instalar.
Warning Instalar un módulo ejecuta PHP de terceros con los privilegios de tu sitio. No existe un sandbox para eso en PHP, en Bondry ni en ningún otro sitio. Instala módulos que obtuviste de nosotros o de un autor en quien confíes.
Activar, desactivar y desinstalar#
| Acción | Qué pasa con los datos |
|---|---|
| Disable | No se toca nada. El módulo desaparece del sitio y del panel. |
| Enable | Vuelve exactamente como estaba. |
| Uninstall | El módulo elimina sus propias tablas y borra sus archivos. |
Un módulo solo puede crear tablas con el prefijo mod_<slug>_, y esas son
las únicas que elimina una desinstalación. El core nunca se toca, por
diseño y por aplicación: el panel se niega a instalar un paquete cuyas
migraciones salgan de ese prefijo.
Módulos hijos#
Algunos módulos extienden a otro módulo en lugar de al core: las pasarelas de pago extienden Payments, por ejemplo. Un hijo aparece indentado bajo su padre en la lista. Desactivar el padre desactiva a los hijos, y desinstalar un padre está bloqueado mientras un hijo siga instalado.
Cuando un módulo se vuelve incompatible#
Cada módulo declara la versión del core que soporta. Pueden seguir dos estados:
- Outdated: el módulo se probó contra un core más antiguo. Lleva un aviso ámbar y sigue funcionando.
- Incompatible: ya no se cumple un requisito. El módulo se desactiva automáticamente al arrancar y no se puede activar hasta que se actualice.
Un módulo roto o ausente nunca tumba el sitio.
Instalar un tema#
Appearance > Themes hace pasar el zip del tema por el mismo flujo,
validando theme.json en su lugar. Cambiar de tema solo cambia la
presentación: no se toca ningún contenido.
El personalizador#
Appearance > Themes > Customise expone los controles que declara el tema: logo, favicon, nombre del sitio, colores, radio, tipografías, ancho del contenedor y modo claro u oscuro por defecto. Los valores se guardan en la base de datos y se aplican como variables CSS, así que un cambio surte efecto de inmediato sin nada que recompilar.
Temas hijos#
Esta es la parte que vale la pena entender antes de editar nada.
Editar un tema en modo avanzado nunca modifica el original. Bondry crea (o reutiliza) un tema hijo, le da el original como padre, traslada tus valores del personalizador y aplica ahí tus cambios. Si el padre estaba activo, el hijo toma su lugar.
El resultado: actualizar el tema padre con un zip nuevo nunca pierde tu trabajo. Si el tema que estás editando ya es un hijo, los cambios entran directo en él.
Eliminar un tema#
Un tema se puede desinstalar como un módulo: se van su directorio, sus assets publicados y sus ajustes. Se aplican dos protecciones. No puedes eliminar un tema que está en la cadena activa, y no puedes eliminar un padre mientras un hijo suyo esté instalado.