Configurable Views Filter Block
Extiende el bloque de filtros expuestos predeterminado de Views con opciones de configuración por instancia, permitiéndote mostrar solo filtros específicos en cada instancia de bloque.
configurable_views_filter_block
Instalar
composer require 'drupal/configurable_views_filter_block:^1.0'
Overview
Configurable Views Filter Block extiende la funcionalidad del bloque de filtros expuestos de Views del core de Drupal, permitiendo a los constructores de sitios crear múltiples instancias del formulario de filtros expuestos, cada una mostrando solo un subconjunto personalizado de los filtros disponibles.
El módulo proporciona control granular de visibilidad sobre los filtros expuestos individuales, el botón de reinicio, las opciones de ordenación y los controles del paginador. Además, cuando los filtros expuestos de Views están agrupados en fieldsets colapsables (elementos details), este módulo puede convertirlos en contenedores simples para una presentación más limpia en instancias específicas.
Esto es particularmente útil para diseños complejos donde deseas distribuir filtros en múltiples regiones de tu página, o cuando combinas filtros expuestos de Views con bloques de búsqueda facetada.
Features
- Crear múltiples instancias del mismo bloque de filtros expuestos de Views con diferentes configuraciones de visibilidad de filtros
- Seleccionar qué filtros expuestos específicos mostrar en cada instancia de bloque
- Ocultar o mostrar el botón de Reinicio por instancia de bloque
- Ocultar o mostrar los criterios de ordenación expuestos por instancia de bloque
- Ocultar o mostrar las opciones del paginador expuestas (elementos por página, desplazamiento) por instancia de bloque
- Eliminar grupos de fieldsets colapsables y mostrar filtros como elementos de formulario simples
- Preserva los valores del formulario de filtros incluso cuando están ocultos visualmente para mantener el estado de los filtros entre bloques
- Genera IDs de formulario únicos para cada instancia de bloque para prevenir conflictos
Use Cases
Dividir filtros expuestos en múltiples regiones
Colocar filtros de búsqueda primarios (como búsqueda por palabra clave y categoría) en el área de contenido principal sobre los resultados, mientras se colocan filtros secundarios (como rango de fechas y autor) en una barra lateral. Cada instancia de bloque se configura para mostrar solo sus filtros designados.
Separar controles de ordenación del formulario de filtros
Mostrar los filtros expuestos en una ubicación y mover los controles de ordenar por/orden de clasificación a una región diferente (como sobre la cuadrícula de resultados) creando un bloque con filtros visibles y ordenaciones ocultas, y otro con solo los controles de ordenación visibles.
Combinar filtros expuestos de Views con búsqueda facetada
Colocar un subconjunto de filtros expuestos de Views junto con bloques de Facets de Search API en una barra lateral, usando solo el filtro de búsqueda de texto de Views mientras se confía en los facets para otros filtrados. Ocultar campos de filtros redundantes para prevenir duplicación.
Simplificar la presentación de filtros en páginas específicas
Cuando los filtros expuestos de Views están organizados en fieldsets colapsables para filtrado complejo, crear una instancia de bloque más simple para páginas de destino que elimine los contenedores de grupo y muestre los filtros en un diseño plano.
Crear un bloque de búsqueda rápida mínimo
Desde una View con muchos filtros expuestos, crear un bloque de búsqueda compacto en el encabezado o pie de página mostrando solo el campo de búsqueda por palabra clave principal, ocultando todos los demás filtros, el botón de reinicio y las opciones del paginador.
Tips
- El módulo usa CSS para ocultar visualmente los filtros no seleccionados en lugar de eliminarlos del formulario. Esto asegura que los valores de los filtros se preserven cuando los usuarios interactúan con múltiples instancias de bloques de filtros en la misma página.
- Cada instancia de bloque obtiene un ID de formulario único, por lo que múltiples instancias del mismo bloque de filtros expuestos de Views pueden coexistir sin conflictos de JavaScript.
- Las opciones de visibilidad para el botón de reinicio, criterios de ordenación y opciones del paginador solo aparecen en la configuración del bloque si esas características están realmente habilitadas/expuestas en la configuración del display de la View.
- Al distribuir filtros en múltiples bloques, todos los bloques enviarán a la misma View y actualizarán los resultados juntos ya que comparten el mismo estado del formulario de filtros.
- La opción 'Eliminar grupos de formulario' es útil cuando tu View usa BEF (Better Exposed Filters) o módulos similares que agrupan filtros en fieldsets colapsables.
Technical Details
Troubleshooting 4
Asegúrate de que tu View tenga al menos un display con filtros expuestos y la opción 'Use exposed filters in block' habilitada bajo la configuración Avanzada en la configuración del display de la View.
El display de la View necesita tener filtros expuestos configurados. Añade criterios de filtro a tu View y marca la opción 'Expose this filter' para cada filtro que quieras poder configurar.
Este es el comportamiento esperado. Los filtros ocultos retienen sus valores de formulario, por lo que cuando cualquier bloque se envía, todos los valores de filtros (incluyendo los ocultos) se aplican a la View.
Habilita el botón de Reinicio en la configuración del Formulario Expuesto de tu View (bajo la configuración Avanzada de la view > Exposed Form > Settings).