Views exposed filter blocks
Proporciona un tipo de bloque que renderiza los filtros expuestos de Views de forma separada de la vista, funcionando con todos los tipos de display de vistas.
views_exposed_filter_blocks
Instalar
composer require 'drupal/views_exposed_filter_blocks:8.x-1.5'
Overview
Views exposed filter blocks proporciona un tipo de bloque dedicado que te permite colocar formularios de filtros expuestos de Views en cualquier parte de tu sitio, independientemente de dónde se muestren los resultados de la vista. A diferencia de la opción de bloque de filtros expuestos del core de Views que solo funciona con displays de tipo Page, este módulo funciona con todos los tipos de plugins de display de vistas incluyendo EVA (Entity Views Attachment), displays embed y cualquier plugin de display personalizado.
El módulo adopta un enfoque diferente al de módulos similares: en lugar de configurar qué bloque debe recibir los filtros expuestos dentro de la configuración de la vista, configuras qué filtros expuestos de vista deben renderizarse dentro de la configuración del bloque. Esto proporciona más flexibilidad en cómo estructuras el diseño de tu sitio.
El bloque construye programáticamente el formulario de filtros expuestos de Views usando el constructor de formularios de Drupal y respeta la configuración de URL personalizada de la vista para las acciones del formulario. Esto hace posible tener el formulario de filtro en una página que envía a una página de resultados en una URL diferente.
Features
- Proporciona un bloque configurable que renderiza el formulario de filtros expuestos de cualquier vista
- Funciona con todos los tipos de display de vistas incluyendo EVA, embed y plugins de display personalizados
- La configuración del bloque permite seleccionar cualquier combinación de vista y display habilitados
- Soporta acciones de formulario con URL personalizada para escenarios de filtrado entre páginas
- Procesamiento opcional del estado del formulario para manejar valores enviados dentro del bloque
- Sin caché garantiza que las selecciones de filtros estén siempre actualizadas
- Valida la existencia de la vista y el display durante la configuración del bloque
Use Cases
Filtros en barra lateral para vistas incrustadas
Cuando uses EVA o módulos similares para incrustar resultados de vistas dentro del contenido, puedes colocar los filtros expuestos en un bloque de barra lateral mientras los resultados aparecen en el área de contenido principal. Esto crea un diseño de interfaz de búsqueda más tradicional.
Filtrado entre páginas
Configura una vista con una URL personalizada y coloca el bloque de filtros expuestos en una página de destino. Los usuarios pueden establecer criterios de filtro en la página de destino y, al enviar, son dirigidos a la página de resultados con los filtros aplicados.
Múltiples bloques de filtros para la misma vista
Coloca múltiples instancias del bloque de filtros en diferentes regiones o en diferentes páginas, todas apuntando a la misma vista. Esto permite a los usuarios acceder a los filtros desde varias ubicaciones en tu sitio.
Reemplazar la ubicación de filtros en vistas de página
Para vistas de página donde deseas los filtros expuestos en una región de bloque específica en lugar de encima de los resultados, usa este módulo para obtener control completo sobre la ubicación de los filtros manteniendo la funcionalidad completa.
Tips
- Deshabilita AJAX en las vistas cuando uses este módulo para un comportamiento correcto de envío del formulario
- Para vistas con display de página, considera usar la opción incorporada 'Exposed form in block' en su lugar, ya que puede ser más apropiada
- La caché del bloque está deshabilitada por defecto para asegurar que las selecciones de filtros estén siempre actualizadas - considera las implicaciones de rendimiento para sitios de alto tráfico
- Usa la función de URL personalizada en la configuración del display de la vista cuando necesites el formulario de filtro en una página diferente a los resultados
Technical Details
Troubleshooting 4
Asegúrate de que tanto el bloque de filtros como los resultados de la vista estén en la misma página, o configura una URL personalizada en la configuración del display de la vista. También verifica que AJAX esté deshabilitado en la vista.
Asegúrate de que la opción 'Always process form state' esté habilitada en la configuración del bloque si necesitas que los valores enviados se muestren en el formulario.
La vista o display configurado puede haber sido eliminado. Edita la configuración del bloque y selecciona una combinación válida de vista y display.
Configura la opción 'Link display' en la configuración del display de tu vista a 'Custom URL' y especifica la URL de destino correcta.