Filtraggio di una vista tramite un campo della casella di controllo


12

Il mio sito ha un tipo di nodo chiamato "Risorsa". Questo tipo di nodo ha un campo chiamato "Revisionato"; questo campo è una singola casella di controllo on-off:

Schermata del modulo Gestisci campi

Ho creato una vista che elenca tutti i nodi del tipo di nodo "Risorsa". Vorrei filtrare quella vista in modo che visualizzi solo i nodi che hanno la casella di controllo "Revisionata" selezionata. Tuttavia, quando provo ad aggiungere quel campo alla mia vista, mi viene mostrato quanto segue:

Schermata di creazione di una vista

Mi aspetto che la casella di selezione "Opzioni" sia una casella di controllo che posso selezionare o lasciare vuota. Invece, mi viene data una casella di selezione con "Seleziona tutto" in esso. Indipendentemente dal fatto che lo selezioni o meno, viene visualizzato un messaggio di errore in cui viene indicato che non sono stati trovati valori validi sul filtro: Contenuto: Rivisto. ":

Messaggio di errore "Nessun valore valido trovato"

Ho provato a "esporre il trucco del display principale" su http://technology.blue-bag.com/top-tip-drupal-views-no-valid-values-found-filter , ma non ha funzionato: non c'è un filtro "sconosciuto" nel display principale, quindi non sembra esserci nulla da correggere.

Qualche idea su come posso ottenere il risultato che sto cercando? E qual è il problema con la strana UI con la casella di selezione piuttosto che una casella di controllo? Sarebbe bello sapere se c'è qualche logica in esso; in caso contrario, posterò un problema nella coda dei problemi appropriata di drupal.org.


Mi aspetto che un filtro per un campo booleano abbia 3 stati: 1. Mostra solo i risultati con "Sì", 2. Mostra solo i risultati con "No", 3. Mostra tutti i risultati.
donquixote

Risposte:


11

questa è una sorta di bug / incosistenza del modo in cui viene creato il campo booleano. se lo lasci predefinito, senza valori 0/1, non li mostrerà in posti come questo filtro.
Ma: i valori ci sono :) in "Seleziona tutto" hai 2 righe che non hanno didascalie. Quando ne scegli uno, puoi vedere che l'SQL per la tua vista è cambiato.
La soluzione alternativa consisterebbe nell'aggiungere alcune didascalie ai valori nella definizione del campo.


Grazie @mojzis! Ho pubblicato anche nella coda dei problemi di Views su drupal.org/node/2027171 .
Jim,

@Jim, mi dispiace, avrei dovuto sottolineare che è più un problema nel campo booleano, e apparentemente c'è già qualcuno che ci sta lavorando :) drupal.org/node/1750950
mojzis

ah grazie! Ho commentato il problema che ho pubblicato nella coda dei problemi di Views per collegarlo al problema principale di D8.
Jim

2

Stavo anche affrontando lo stesso problema, l'etichetta del campo non era visualizzata nel filtro esposto della vista.

Sono quindi passato alle impostazioni del campo nel tipo di contenuto per quel campo della casella di controllo e ho aggiornato il valore attivo come 1 e il valore disattivato come 0 .

Ora l'etichetta appare nel filtro esposto e funziona come previsto.


1

Riscontro lo stesso problema e invece utilizzando Seleziona tutto non selezionare alcun valore. Se hai già un valore selezionato, usa Ctrl per annullare la selezione.

fonte


1
Puoi approfondire un po 'questo e spiegare perché questo risolve la domanda e non solo il tuo problema?
mpdonadio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.