Drupal 8 mantenimiento página tematización [cerrado]

8

Quiero personalizar la página de mantenimiento en Drupal 8.

¿Cómo lo tema?

Shawn Conn
fuente
Incluso para las preguntas con respuesta propia, los consejos generales para hacer una pregunta son válidos. Tal como está, esta pregunta es demasiado amplia: ni siquiera describe el problema que está teniendo.
kiamlaluno

Respuestas:

14

En Drupal 8, settings.php contiene la siguiente línea:

# $settings['maintenance_theme'] = 'bartik';

Primero, descomente esta configuración y cambie "bartik" al nombre de la máquina de su tema personalizado.

A continuación, copie la plantilla de mantenimiento central core / modules / system / templates / maintenance-page.html.twig en templates / maintenance-page.html.twig en su directorio de temas personalizados.

Por último, vacíe el caché de Drupal para habilitar su nueva plantilla de página de mantenimiento. Si necesita modificar las variables de la plantilla, puede agregarlas MYTHEME_preprocess_maintenance_page()a su archivo * .theme .

Shawn Conn
fuente
1
Settings.php dice "Esto se aplica cuando el sitio se establece explícitamente en modo de mantenimiento a través de la página de administración o cuando la base de datos está inactiva debido a un error". Sin embargo, en mi sitio esto solo funciona si activo el modo de mantenimiento. Si intencionalmente rompo el acceso a mi base de datos al cambiar la contraseña, obtengo una página con un error de PDO, no mi página de mantenimiento
nexus_6
Al hacer esto, los cambios se muestran en la página de actualización después de instalar un módulo. ¿El proceso que crea la página de actualización utiliza la rama de la página de mantenimiento? maintenance-page.html.twig
mike_kc
No estoy seguro de si esto estuvo disponible en versiones posteriores, pero al crear mi propia página de mantenimiento personalizada, descubrí que no necesitaba actualizar settings.php para registrarlo.
karolus
Además, dado que la página maintenace no siempre quiere respetar el HTML del tema, creé una sugerencia en "template_theme_suggestions_html_alter.php" agregando esta pieza de código: if (\ Drupal :: state () -> get (' system.maintenance_mode ')) {$ sugerencias [] =' html__maintenance '; }
ZyDucksLover