Menu Breadcrumb
Genera migas de pan basadas en la posición y títulos del menú, con soporte para adjunción basada en taxonomía para páginas que no están directamente en los menús.
menu_breadcrumb
Install
composer require 'drupal/menu_breadcrumb:^2.0'
composer require 'drupal/menu_breadcrumb:8.x-1.16'
Overview
Menu Breadcrumb proporciona una alternativa potente al sistema de migas de pan basado en rutas de Drupal, generando migas de pan basadas en la estructura del menú. El módulo determina el rastro de migas de pan examinando a qué menú pertenece la página actual, mostrando la ruta jerárquica a través de ese menú como la miga de pan.
Una de las características más potentes del módulo es la "Adjunción de Taxonomía", que permite que las páginas que no están directamente en ningún menú hereden las migas de pan de un término de taxonomía al que pertenecen. Por ejemplo, las entradas de blog que están etiquetadas con una categoría heredarán el rastro de migas de pan de la posición de menú de esa categoría, aunque las entradas de blog en sí no sean elementos del menú.
El módulo soporta sitios multilingües con manejo de idioma por menú, asegurando que los menús solo generen migas de pan cuando su idioma coincide con el idioma del contenido actual. Se pueden configurar múltiples menús con diferentes prioridades, y el módulo usará el primer menú coincidente para generar las migas de pan.
Si no se encuentra ninguna coincidencia de menú o adjunción de taxonomía, el módulo se retira elegantemente, permitiendo que otros constructores de migas de pan (como el constructor basado en rutas de Drupal) manejen la generación de migas de pan.
Features
- Genera migas de pan basadas en la jerarquía del menú en lugar de la estructura de la ruta URL
- Característica de Adjunción de Taxonomía que proporciona migas de pan basadas en menú a páginas que no están directamente en los menús heredando las migas de pan de sus términos de taxonomía
- Manejo de idioma por menú para sitios multilingües con menús separados por idioma
- Prioridad de menú configurable mediante reordenamiento de arrastrar y soltar para controlar qué menú tiene precedencia
- Opción para añadir el título de la página actual al rastro de migas de pan como enlace o texto plano
- Opción para añadir páginas miembro adjuntas por taxonomía al rastro de migas de pan
- Manejo configurable del enlace Inicio: añadir, eliminar o usar el nombre del sitio como título de Inicio
- Opción para usar el título del padre del menú en lugar de "Inicio" para la miga de pan de la página principal
- Excluir elementos de menú con URLs vacías del rastro de migas de pan
- Excluir elementos de menú deshabilitados del rastro de migas de pan
- Detener el rastro de migas de pan en la primera URL coincidente en el menú
- Opción para deshabilitar las migas de pan basadas en menú para páginas de administración
- Opción MenuActiveTrail derivada para mejorar el rendimiento en sitios multilingües con menús grandes
Use Cases
Blog con migas de pan basadas en categorías
Un sitio de blog donde los artículos están etiquetados con categorías pero no colocados individualmente en los menús. Al habilitar Adjunción de Taxonomía en el menú principal y añadir términos de taxonomía de categoría al menú, todos los artículos del blog heredarán automáticamente migas de pan basadas en su categoría. Por ejemplo, un artículo etiquetado con 'Tecnología' mostrará: Inicio > Blog > Tecnología > [Título del artículo].
Sitio multilingüe con menús separados
Un sitio web multilingüe con un menú principal separado para cada idioma (por ejemplo, main-en, main-fr, main-de). Habilita el Manejo de Idioma para cada menú para asegurar que solo el menú que coincide con el idioma del contenido actual se use para las migas de pan. Esto evita que las migas de pan aparezcan en el idioma incorrecto.
Migas de pan de productos de comercio electrónico
Un sitio de comercio electrónico donde los productos están organizados por categorías de taxonomía pero no todos los productos son elementos del menú. Añade las categorías de productos al menú y habilita Adjunción de Taxonomía. Los productos heredarán migas de pan de su categoría: Inicio > Tienda > Electrónica > Smartphones > [Nombre del producto].
Sitio de documentación con navegación jerárquica
Un sitio de documentación con una jerarquía de menú profunda. Configura el módulo para añadir la página actual a las migas de pan y mostrarla como texto plano (no como enlace) para que los usuarios puedan ver su ubicación. Habilita 'Detenerse en la primera coincidencia' si las páginas aparecen en múltiples secciones para usar la primera aparición en el menú.
Sitio corporativo con migas de pan limpias
Un sitio corporativo que quiere migas de pan limpias sin que el enlace Inicio sature la visualización. Habilita 'Eliminar enlace Inicio' para que las migas de pan comiencen directamente con el elemento del menú de primer nivel. O establece 'Título de Inicio' para usar el nombre del sitio para mejor identidad de marca en las migas de pan.
Tips
- El módulo tiene una prioridad alta (1010) por lo que se ejecuta antes del constructor de migas de pan de taxonomía del núcleo. Si quieres que otro módulo maneje las migas de pan primero, puede que necesites ajustar las prioridades de servicio.
- Para rendimiento en sitios multilingües grandes, habilita 'Derivar MenuActiveTrail de RouteMatch' para evitar usar el servicio global MenuActiveTrail.
- Cuando una página existe en múltiples menús, el orden de los menús en la configuración determina cuál se usa. Arrastra los menús más importantes a la parte superior de la lista.
- La adjunción de taxonomía busca términos de taxonomía en el orden en que sus campos de referencia de entidad aparecen en el listado de campos del tipo de contenido. Reordena los campos si se está coincidiendo con la taxonomía incorrecta.
- El módulo añade el contexto de caché url.path a todas las migas de pan para asegurar un comportamiento de caché apropiado a través de diferentes páginas.
- Cuando se usa adjunción de taxonomía, las migas de pan del término de taxonomía siempre se muestran como enlace, independientemente de la configuración 'página actual como enlace', porque la página actual no está realmente en el menú.
- Limpia las cachés después de cambiar la estructura del menú para asegurar que las migas de pan reflejen la jerarquía actualizada.
Technical Details
Admin Pages 1
/admin/config/user-interface/menu-breadcrumb
Configura cómo se generan las migas de pan basadas en menú. Selecciona qué menús usar para la generación de migas de pan, configura las opciones de visualización para la página actual y el enlace Inicio, y configura la adjunción de taxonomía para páginas que no están directamente en los menús.
Hooks 2
hook_help
Proporciona texto de ayuda para el módulo en la página de ayuda de administración y la página del formulario de configuración.
hook_system_breadcrumb_alter
Añade el contexto de caché url.path a todas las migas de pan para evitar que las páginas no manejadas por Menu Breadcrumb tengan sus migas de pan en caché reemplazando incorrectamente otras páginas.
Troubleshooting 7
Limpia la caché de Drupal. Diferentes versiones del módulo usan diferentes argumentos de servicio, y la caché necesita ser reconstruida para reconocer la nueva definición del servicio. Visita /admin/config/development/performance y haz clic en 'Limpiar todas las cachés' o ejecuta 'drush cr'.
Asegúrate de que: 1) El menú con el término de taxonomía tiene 'Adjunción de Taxonomía' habilitada en la configuración, 2) El tipo de contenido tiene un campo de referencia de entidad apuntando a términos de taxonomía, 3) El término de taxonomía está realmente colocado en un menú habilitado, 4) El valor del campo está guardado en el nodo.
Verifica el orden de prioridad de los menús en la configuración. Arrastra el menú preferido más arriba (menor peso) en la lista. El primer menú habilitado con una ruta coincidente o adjunción de taxonomía será usado.
Habilita 'Manejo de Idioma' para cada menú específico de idioma. Esto asegura que los menús solo se usen cuando su idioma coincide con el idioma del contenido actual.
Habilita 'Añadir página actual a las migas de pan' en la configuración. Si debe aparecer como enlace, también habilita 'Mostrar página actual como enlace'.
Habilita 'Excluir elementos de menú con URLs vacías' para filtrar elementos de menú que usan <none> o tienen campos de enlace vacíos.
Habilita 'Excluir elementos de menú deshabilitados' para filtrar elementos de menú que no están habilitados en el menú.