Filtrar una vista por un campo de casilla de verificación

12

Mi sitio tiene un tipo de nodo llamado "Recurso". Este tipo de nodo tiene un campo llamado "Revisado"; este campo es una única casilla de verificación de encendido / apagado:

Captura de pantalla del formulario Administrar campos

He creado una vista que enumera todos los nodos de "Recurso" de tipo nodo. Me gustaría filtrar esa vista para que solo muestre nodos que tengan marcada la casilla de verificación "Revisado". Sin embargo, cuando intento agregar ese campo a mi vista, se me muestra lo siguiente:

Captura de pantalla de construir una vista

Esperaría que la casilla de selección "Opciones" sea una casilla de verificación que podría marcar o dejar vacía. En cambio, aparece un cuadro de selección con "Seleccionar todo". Si selecciono esto o no, aparece un mensaje de error que dice que "No se encontraron valores válidos en el filtro: Contenido: Revisado":

Mensaje de error "No se encontraron valores válidos"

He intentado el "exponer el truco de la pantalla maestra" en http://technology.blue-bag.com/top-tip-drupal-views-no-valid-values-found-filter , pero eso no ha funcionado: no hay un filtro "desconocido" en la pantalla maestra, por lo que no parece haber nada que arreglar.

¿Alguna idea de cómo puedo lograr el resultado que estoy buscando? ¿Y cuál es el problema con la extraña interfaz de usuario con el cuadro de selección en lugar de una casilla de verificación? Sería bueno saber si hay algo de lógica en ello; si no, publicaré un problema en la cola de problemas de drupal.org correspondiente.

Jim
fuente
Esperaría que un filtro para un campo booleano tenga 3 estados: 1. Mostrar solo resultados con "Sí", 2. Mostrar solo resultados con "No", 3. Mostrar todos los resultados.
donquixote

Respuestas:

11

Esto es una especie de error / incosistencia de cómo se hace el campo booleano. si lo deja por defecto, sin ningún valor 0/1, no los mostrará en lugares como este filtro.
Pero: los valores están ahí :) en "Seleccionar todo" tiene 2 filas que simplemente no tienen subtítulos. Cuando elige uno de ellos, puede ver que el SQL de su vista cambia.
La solución alternativa sería agregar algunos subtítulos a los valores en la definición del campo.

mojzis
fuente
Gracias @mojzis! También publiqué en la cola de problemas de Vistas en drupal.org/node/2027171 .
Jim
@ Jim, lo siento, debería haber enfatizado que es más un problema en el campo booleano, y aparentemente ya hay alguien trabajando en ello :) drupal.org/node/1750950
mojzis
¡Ah gracias! He comentado el problema que publiqué en la cola de problemas de Vistas para vincularlo con el problema principal de D8.
Jim
2

También estaba enfrentando el mismo problema, la etiqueta del campo no se mostraba en el filtro expuesto de la vista.

Luego fui a la configuración de campo en el tipo de contenido para ese campo de casilla de verificación y actualicé el valor de encendido como 1 y el valor de apagado como 0 .

Ahora la etiqueta aparece en el filtro expuesto y funciona como se esperaba.

Gaurav
fuente
1

Me encuentro con el mismo problema y, en su lugar, usando Seleccionar todo, no debería seleccionar ningún valor. Si ya tiene un valor seleccionado, use Ctrl para deshacer su selección.

Fuente

magdmartin
fuente
1
¿Puedes ampliar esto un poco y explicar por qué esto resuelve la pregunta y no solo tu problema?
mpdonadio