Cómo personalizar un tema en phpBB sin romper las actualizaciones
Montar un foro con phpBB lleva una tarde. Que deje de parecer una instalación por defecto lleva bastante más, y la mayoría de administradores que se lanzan a cambiar cosas acaban descubriendo el problema en la siguiente actualización: los cambios se pierden, la plantilla se rompe o, peor, el foro queda a medio camino entre dos versiones del mismo tema.
El camino para evitarlo existe desde hace años y no es complicado, pero conviene entenderlo antes de tocar nada.
El problema de editar directamente el tema
phpBB organiza su aspecto visual en lo que llama styles. Un style es un paquete que incluye plantillas HTML (en formato Twig desde phpBB 3.2), hojas de estilo CSS y, en algunos casos, imágenes y configuraciones de colores. El tema por defecto se llama prosilver y viene con la instalación.
Cuando alguien quiere cambiar el color de la cabecera, lo primero que hace es abrir el archivo CSS del tema, buscar la línea que define ese color y cambiarla. Funciona. Hasta que phpBB publica una versión nueva del tema con correcciones de accesibilidad o compatibilidad, y la actualización sobrescribe ese archivo. El cambio desaparece y el administrador tiene que volver a hacerlo, si es que recuerda qué había tocado.
Con un cambio de color no pasa nada grave. Con veinte cambios repartidos en seis archivos, el riesgo es real: la actualización restaura unos, deja otros a medias y el foro acaba con una mezcla de versiones que no cuadra.
Child styles: la capa que no se toca
La solución es un child style, un estilo hijo que hereda todo del tema padre y solo contiene las diferencias. phpBB lo soporta de forma nativa desde la versión 3.1. El estilo hijo es una carpeta independiente con su propio nombre, su propia hoja de CSS y, si hace falta, sus propias plantillas. Todo lo que no defina el hijo lo toma del padre.
Cuando phpBB se actualiza, actualiza el padre. El hijo no se toca, porque no es parte de la distribución oficial. Los cambios personalizados sobreviven a cualquier actualización del tema base, siempre que no dependan de una estructura HTML que el padre haya cambiado. Y eso, en la práctica, ocurre muy rara vez entre versiones menores.
Crear un child style es cuestión de copiar la carpeta del tema padre, vaciarla de todo menos el archivo de configuración (style.cfg) y la hoja de estilo propia, y modificar el style.cfg para que apunte al padre como tema heredado. Desde ese momento, cualquier regla CSS que escribas en la hoja del hijo sobreescribe la del padre sin modificar ni un solo archivo original.
Qué se puede cambiar sin riesgo
Los colores, la tipografía, los márgenes, el tamaño de los elementos y la disposición general del foro se controlan desde CSS. Todo lo que sea CSS puro se puede cambiar en el child style con seguridad total. Una instalación de phpBB recién hecha tiene un aspecto genérico que se transforma por completo solo con cambiar la paleta de colores y la fuente principal.
Las plantillas Twig permiten ir más allá: cambiar el orden de los bloques en una página, añadir un banner, quitar la barra lateral o reorganizar el pie de página. Pero cada plantilla que copies del padre al hijo es un archivo que tendrás que mantener tú. Si el padre cambia esa plantilla en una actualización, tu copia no se actualizará y puede quedar desfasada. Por eso, la recomendación es tocar las plantillas lo menos posible y hacer todo lo que se pueda con CSS.
Los errores que se repiten
El más común es modificar prosilver directamente. Funciona hoy, se rompe mañana. El segundo es crear un child style pero copiar todas las plantillas del padre, creyendo que así se tiene más control. Lo que se tiene es un estilo completo e separado que hay que mantener a mano, que es exactamente lo que se quería evitar.
El tercero es instalar un tema de terceros sin comprobar si está mantenido. El catálogo de estilos de phpBB es amplio, pero muchos llevan años sin actualización. Un tema abandonado que funcionaba con phpBB 3.2 puede no funcionar con la 3.3, y migrar de uno a otro con el foro en marcha es un trabajo que nadie quiere hacer dos veces.
Antes de instalar un tema nuevo, comprueba tres cosas: cuándo fue la última actualización, si es compatible con tu versión de phpBB y si el autor responde en el hilo de soporte. Si alguna de las tres falla, piénsalo dos veces.
Una hoja de ruta práctica
Primero, instala phpBB con el tema por defecto y no toques nada hasta que el foro funcione: usuarios, permisos, categorías. Segundo, crea un child style vacío que herede de prosilver. Tercero, haz los cambios de color y tipografía en la hoja CSS del hijo. Cuarto, prueba el foro con el hijo activado y comprueba que todo se ve bien en móvil, porque más de la mitad de las visitas a un foro llegan desde el teléfono.
Si necesitas cambios en las plantillas, copia solo el archivo que vayas a modificar, no la carpeta entera. Documenta qué has cambiado y por qué: dentro de un año, cuando phpBB publique una versión nueva y tengas que revisar tu child style, ese documento te ahorrará horas.
Y si el foro es lo bastante grande como para que el aspecto visual importe — porque los primeros visitantes juzgan en cinco segundos si se quedan o se van —, considera que un tema limpio y legible con tres colores bien elegidos funciona mejor que un diseño elaborado con veinte.