Navigation Extra Tools

Añade un submenú de Herramientas a la barra de navegación de Drupal core con acceso rápido a funciones de limpieza de caché, ejecución de cron y actualización de base de datos.

navigation_extra_tools
3,139 sites
22
drupal.org

Instalar

Drupal 11, 10 v1.3.1
composer require 'drupal/navigation_extra_tools:^1.3'

Overview

Navigation Extra Tools proporciona un submenú "Herramientas" en la nueva barra de navegación de Drupal core, ofreciendo accesos directos convenientes para tareas comunes de administración del sitio. Este módulo replica la funcionalidad proporcionada anteriormente por el submódulo Admin Toolbar Extra Tools, pero diseñado específicamente para el módulo Navigation introducido en Drupal 10.3.

El módulo añade elementos de menú de acceso rápido para limpiar varias cachés (todas las cachés, CSS/JavaScript, plugins, estática, menú/enrutamiento, renderizado, Twig, Views y registro de temas), ejecutar cron manualmente y acceder a las actualizaciones de base de datos. Estas acciones son accesibles directamente desde la barra lateral de navegación sin necesidad de navegar a páginas de administración separadas.

Cuando el módulo Devel está instalado, Navigation Extra Tools añade automáticamente un submenú de Desarrollo bajo Herramientas, proporcionando acceso a las utilidades de depuración y desarrollo de Devel. El módulo también se integra con Project Browser para ofrecer una opción rápida de limpieza de almacenamiento.

Features

  • Añade un menú "Herramientas" con un icono de llave inglesa a la barra lateral de navegación
  • Proporciona funcionalidad rápida de "Limpiar todas las cachés" idéntica a la limpieza de caché de la página de Rendimiento
  • Ofrece opciones individuales de limpieza de caché para CSS/JavaScript, plugins, caché estática, enrutamiento/enlaces, plantillas Twig, caché de renderizado, caché de Views y registro de temas
  • Añade elemento de menú "Ejecutar cron" para ejecución manual de cron desde la barra de navegación
  • Incluye enlace "Ejecutar actualizaciones" para acceder a la funcionalidad de actualización de base de datos
  • Se integra automáticamente con el módulo Devel cuando está instalado, añadiendo un submenú de Desarrollo con herramientas Devel configurables
  • Soporta integración de configuración de Webprofiler cuando tanto Devel como Webprofiler están habilitados
  • Se integra con el módulo Devel PHP para proporcionar la opción de Ejecutar Código PHP cuando está disponible
  • Añade submenú de Project Browser con opción de limpiar almacenamiento cuando el módulo Project Browser está instalado
  • Usa visibilidad basada en permisos para mostrar solo elementos de menú relevantes a cada usuario
  • Otorga automáticamente nuevos permisos a roles que tienen el permiso 'administer site configuration' durante las actualizaciones

Use Cases

Limpieza rápida de caché durante el desarrollo

Durante el desarrollo de temas o módulos, los desarrolladores frecuentemente necesitan limpiar cachés para ver sus cambios. En lugar de navegar a /admin/config/development/performance, los desarrolladores pueden simplemente hacer clic en Herramientas > Limpiar todas las cachés directamente desde la barra lateral de navegación en cualquier página.

Limpieza de caché dirigida para problemas específicos

Al solucionar problemas con componentes específicos del sitio, los administradores pueden usar las opciones individuales de limpieza de caché. Por ejemplo, si las plantillas Twig no se actualizan, usar Herramientas > Limpiar caché individual > Limpiar caché de Twig. Si los enlaces de menú no aparecen correctamente, usar Limpiar caché de enrutamiento y enlaces.

Ejecución manual de cron para pruebas

Al desarrollar o probar funcionalidad basada en cron (como publicación programada de contenido o indexación de búsqueda), los administradores pueden disparar cron manualmente vía Herramientas > Ejecutar cron sin esperar el intervalo programado de cron.

Flujo de trabajo de desarrollo con módulo Devel

Los desarrolladores que usan el módulo Devel pueden acceder a herramientas de depuración directamente desde la barra de navegación. El submenú Desarrollo proporciona acceso rápido a funciones de Devel comúnmente usadas como ver configuración, gestionar variables de estado e inspeccionar información de entidades.

Actualización de caché de Project Browser

Al usar Project Browser para descubrir e instalar módulos, si los listados de módulos parecen desactualizados, los administradores pueden usar Herramientas > Project Browser > Limpiar almacenamiento para forzar una actualización de los datos de proyectos en caché.

Desarrollo de temas con retroalimentación inmediata

Los desarrolladores de temas pueden usar la opción 'Reconstruir registro de temas' para registrar inmediatamente nuevos archivos de plantilla o cambios en funciones de tema sin limpiar todas las cachés, proporcionando iteración más rápida durante el desarrollo de temas.

Tips

  • El módulo automáticamente otorga permisos de limpieza de caché y cron a cualquier rol que tenga el permiso 'administer site configuration' cuando se instala o actualiza
  • Todas las acciones de limpieza de caché y cron redirigen a la página de referencia después de completarse, haciendo conveniente permanecer en la página en la que estás trabajando
  • El icono de llave inglesa usado para el menú Herramientas proviene de Phosphor Icons, manteniendo consistencia visual con el diseño de la barra de navegación de Drupal
  • Cuando Devel se instala después de Navigation Extra Tools, el módulo automáticamente habilita un conjunto estándar de elementos de menú de Devel para consistencia con Admin Toolbar Extra Tools
  • A diferencia de algunos métodos de limpieza de caché, las opciones individuales de caché proporcionan precisión quirúrgica para limpiar solo cachés específicas, lo cual puede ser más rápido y apropiado durante el desarrollo

Technical Details

Admin Pages 15
Herramientas /admin/tools

Página contenedora principal para todas las funciones del menú Herramientas. Esta página muestra las categorías de herramientas disponibles según los permisos del usuario. La funcionalidad real se accede a través de los elementos del menú secundario en lugar de esta página en sí.

Limpiar todas las cachés /admin/flush

Limpia todas las cachés del sitio en una sola acción. Esto es equivalente a hacer clic en 'Limpiar todas las cachés' en la página de Rendimiento (/admin/config/development/performance). Después de la ejecución, el usuario es redirigido a la página anterior con un mensaje de confirmación.

Limpiar caché individual /admin/tools/individual

Página contenedora para opciones individuales de limpieza de caché. Proporciona acceso a funciones granulares de limpieza de caché para subsistemas específicos.

Limpiar CSS y JavaScript /admin/flush/css-js

Limpia la caché de agregación de CSS y JavaScript restableciendo la cadena de consulta de assets. Esto fuerza a los navegadores a descargar versiones frescas de los archivos CSS y JavaScript agregados.

Limpiar caché de plugins /admin/flush/plugin

Limpia todas las definiciones de plugins en caché. Útil al desarrollar plugins personalizados o después de instalar módulos que proporcionan nuevos plugins.

Limpiar caché estática /admin/flush/static-caches

Restablece todas las cachés estáticas almacenadas en memoria durante la solicitud actual. Principalmente útil para desarrolladores durante la depuración.

Limpiar caché de enrutamiento y enlaces /admin/flush/menu

Limpia todos los datos de menú en caché incluyendo enlaces de menú, enlaces contextuales, tareas locales y acciones locales. También reconstruye las definiciones de plugins de enlaces de menú.

Limpiar caché de renderizado /admin/flush/render-cache

Limpia la caché de renderizado que almacena versiones pre-renderizadas de páginas y elementos de página.

Limpiar caché de Views /admin/flush/views

Invalida todos los datos en caché específicos de Views. Útil cuando las Views no muestran contenido actualizado.

Limpiar caché de Twig /admin/flush/twig

Limpia la caché de plantillas Twig compiladas. Requerido al hacer cambios en plantillas Twig durante el desarrollo de temas.

Reconstruir registro de temas /admin/flush/theme_rebuild

Reconstruye el registro de temas que contiene información sobre todos los hooks de tema disponibles. Útil al añadir nuevos archivos de plantilla o funciones de tema.

Ejecutar cron /run-cron

Dispara manualmente una ejecución de cron. Ejecuta todas las tareas de cron registradas incluyendo indexación de contenido, limpieza de registros y otras operaciones de mantenimiento programadas.

Desarrollo /admin/tools/devel

Página contenedora para la integración del módulo Devel. Solo visible cuando el módulo Devel está instalado. Proporciona acceso a las herramientas de depuración y desarrollo de Devel configuradas en la Configuración de Barra de Herramientas de Devel.

Project Browser /admin/project_browser

Página contenedora para la integración del módulo Project Browser. Solo visible cuando el módulo Project Browser está instalado.

Limpiar almacenamiento /admin/project_browser/clear

Limpia el almacenamiento de datos de proyectos en caché de Project Browser. Útil cuando Project Browser muestra información obsoleta de módulos/temas.

Permisos 2
Acceder a navigation extra tools: limpieza de caché

Permite acceso a las herramientas extra de limpieza de caché en la barra de navegación. Los usuarios con este permiso pueden limpiar todas las cachés y acceder a opciones individuales de limpieza de caché.

Acceder a navigation extra tools: cron

Permite acceso a las herramientas extra de cron en la barra de navegación. Los usuarios con este permiso pueden ejecutar cron manualmente desde la barra de navegación.

Hooks 3
hook_library_info_alter

Altera las definiciones de bibliotecas para añadir dependencia de toolbar cuando el módulo toolbar está habilitado, asegurando la carga correcta de bibliotecas.

hook_page_attachments

Adjunta la biblioteca navigation_extra_tools/icon a las páginas para usuarios con permiso 'access navigation', habilitando la visualización del icono de llave inglesa del menú Herramientas.

hook_modules_installed

Responde a eventos de instalación de módulos. Cuando el módulo Devel está instalado, habilita automáticamente un conjunto predefinido de elementos de menú de Devel en la configuración de la barra de herramientas.

Troubleshooting 5
El menú Herramientas no es visible en la barra lateral de navegación

Asegúrate de que el usuario tiene al menos uno de los siguientes permisos: 'Access navigation extra tools: cache flushing', 'Access navigation extra tools: cron', o acceso a funciones de Devel (si Devel está instalado). El menú Herramientas solo aparece si el usuario tiene acceso a al menos un elemento de menú secundario.

El submenú Desarrollo no aparece bajo Herramientas

El submenú Desarrollo solo aparece cuando el módulo Devel está instalado y habilitado. Además, el usuario debe tener el permiso 'administer site configuration' o 'access devel information'.

Faltan algunos elementos de menú de Devel en el submenú Desarrollo

Los elementos de menú de Devel se configuran a través de la configuración de barra de herramientas del módulo Devel en /admin/config/development/devel/toolbar. Revisa esta página para asegurarte de que los elementos deseados están habilitados.

Después de instalar el módulo, los usuarios admin existentes no pueden ver las opciones de caché/cron

Ejecuta las actualizaciones de base de datos (drush updb o /update.php) para ejecutar el hook post_update que otorga los nuevos permisos a roles con 'administer site configuration'. Alternativamente, otorga manualmente los permisos en /admin/people/permissions.

Las acciones de limpieza de caché devuelven errores

Asegúrate de que la protección de token CSRF está funcionando correctamente. Las rutas de limpieza de caché requieren tokens CSRF válidos por seguridad. Si los problemas persisten, verifica que el manejo de sesiones está configurado correctamente.

Security Notes 4
  • Los permisos de limpieza de caché y cron están marcados como 'restrict access', lo que significa que solo deberían otorgarse a roles administrativos de confianza
  • Todas las rutas de limpieza de caché y cron están protegidas con tokens CSRF para prevenir ataques de falsificación de solicitud entre sitios
  • La visibilidad del menú Herramientas se calcula dinámicamente basándose en los permisos del usuario actual a los elementos de menú secundarios, asegurando que los usuarios solo vean funciones a las que pueden acceder
  • El acceso a actualizaciones de base de datos (/update.php) requiere el permiso 'administer software updates', que es separado de los permisos del módulo