Views Taxonomy Term Name Depth
Proporciona plugins de filtro contextual de Views que filtran contenido por nombres de términos de taxonomía con soporte de profundidad jerárquica.
views_taxonomy_term_name_depth
Install
composer require 'drupal/views_taxonomy_term_name_depth:^7.3'
composer require 'drupal/views_taxonomy_term_name_depth:^7.0'
Overview
El módulo Views Taxonomy Term Name Depth extiende Drupal Views con plugins especializados de filtro contextual (argumento) para el filtrado de contenido basado en taxonomía. A diferencia de los filtros de taxonomía del core que trabajan con IDs de términos, este módulo permite filtrar por nombres de términos legibles por humanos, haciéndolo ideal para rutas amigables con URLs.
El módulo proporciona dos plugins clave de Views: un manejador de argumentos que filtra contenido por nombre de término de taxonomía con recorrido de profundidad (soportando jerarquías de términos padre e hijo), y un plugin de argumento por defecto que extrae automáticamente los IDs de términos padre del contexto de la página actual.
La integración con el módulo Pathauto permite coincidencia inteligente de alias de URL, permitiendo que los nombres de términos en las URLs coincidan con sus términos de taxonomía reales independientemente de caracteres especiales o diferencias de formato. Esto hace que el módulo sea particularmente potente para crear listados de contenido basados en taxonomía jerárquica y amigables con SEO.
Features
- Plugin de filtro contextual (argumento) de Views que filtra contenido por NOMBRE de término de taxonomía en lugar de ID de término, permitiendo filtrado amigable con URLs
- Soporte de profundidad jerárquica con valores de profundidad positivos para incluir términos hijos y valores de profundidad negativos para incluir términos padre en la jerarquía
- Integración con el módulo Pathauto para coincidencia inteligente de alias de URL usando el servicio de limpieza de alias
- Filtrado por vocabulario para restringir la coincidencia de términos a vocabularios específicos, previniendo conflictos cuando los términos comparten nombres entre vocabularios
- Soporte de múltiples valores permitiendo nombres de términos separados por coma o signo más (formato 1+2+3) para filtrar por múltiples términos de taxonomía
- Plugin de argumento por defecto de Views que extrae IDs de términos padre de taxonomía del contexto de URL actual (páginas de términos de taxonomía o páginas de nodos)
- Funcionalidad de bloques de contenido relacionado cargando referencias de taxonomía desde la página de nodo actual
- Implementación consciente de caché con contextos de caché basados en URL para rendimiento óptimo
Use Cases
Páginas de categoría amigables con SEO
Crear vistas que filtren contenido por nombres de términos de taxonomía amigables con URLs. Por ejemplo, una URL como /products/electronics filtraría productos etiquetados con el término 'Electronics', con Pathauto manejando la conversión del alias de URL.
Catálogos de productos jerárquicos
Construir listados de productos donde ver una categoría padre (ej., 'Ropa') automáticamente incluye productos de categorías hijas ('Camisas', 'Pantalones', 'Accesorios') estableciendo un valor de profundidad positivo.
Navegación de categoría padre
Crear navegación estilo migas de pan o páginas de aterrizaje de categorías donde ver una página de término hijo (ej., 'Smartphones') también muestra contenido de categorías padre ('Electrónica', 'Tecnología') usando valores de profundidad negativos.
Bloques de contenido relacionado
Mostrar bloques de contenido relacionado en páginas de nodo usando el argumento por defecto Taxonomy term parent ID from URL. El bloque automáticamente muestra contenido que comparte términos de taxonomía con el nodo actual.
Filtrado multi-vocabulario
Filtrar contenido a través de vocabularios específicos cuando los mismos nombres de términos existen en múltiples vocabularios (ej., 'Noticias' tanto como categoría de tipo de contenido como tema de sección de noticias).
Agregación de contenido basada en etiquetas
Permitir filtrado de múltiples etiquetas vía URL con la opción break_phrase habilitada, soportando URLs como /topics/drupal+php+web-development para mostrar contenido etiquetado con cualquiera de esos términos.
Tips
- Use el módulo Pathauto para mejores resultados - asegura que alias de URL como 'web-development' coincidan correctamente con términos nombrados 'Web Development'
- Establezca restricciones de vocabulario cuando tenga términos con nombres idénticos en diferentes vocabularios para evitar coincidencias no deseadas
- Use valores de profundidad positivos con moderación en taxonomías grandes ya que cada nivel de profundidad agrega operaciones JOIN a la consulta de base de datos
- La opción 'Permitir múltiples valores' trata AND como OR debido a la complejidad de la consulta - use esto para filtrado amplio en lugar de intersección estricta
- Para bloques de contenido relacionado, combine el argumento por defecto taxonomy_tpid con estrategias de caché apropiadas usando el contexto de caché de URL
- Pruebe los ajustes de profundidad cuidadosamente - profundidad de 0 coincide solo con el término exacto, profundidad de 1 incluye hijos directos, profundidad de 2 incluye nietos, etc.
Technical Details
Hooks 1
hook_views_data_alter
Altera los datos de Views para registrar el plugin de argumento personalizado taxonomy_index_name_depth para el filtrado de contenido de nodos.
Troubleshooting 4
Asegúrese de que Pathauto esté instalado y que los nombres de términos en sus URLs coincidan con las versiones limpiadas por Pathauto de sus términos de taxonomía. Verifique las restricciones de vocabulario si los términos existen en múltiples vocabularios.
Verifique que el valor de profundidad esté configurado correctamente. Profundidad 0 = solo coincidencia exacta, valores positivos incluyen hijos, valores negativos incluyen padres. Cada incremento agrega un nivel de jerarquía.
Valores de profundidad grandes crean múltiples operaciones JOIN. Considere limitar la profundidad a 2-3 niveles o usar restricciones de vocabulario para reducir el alcance de la consulta.
Cuando 'Permitir múltiples valores' está habilitado, las operaciones AND se tratan como OR. Si necesita filtrado AND estricto, considere usar múltiples filtros contextuales en su lugar.