Filtrando uma visualização por um campo da caixa de seleção

12

Meu site tem um tipo de nó chamado "Recurso". Este tipo de nó possui um campo chamado "Revisado"; este campo é uma única caixa de seleção ativada / desativada:

Captura de tela do formulário Gerenciar campos

Eu criei uma exibição que lista todos os nós do tipo de nó "Recurso". Gostaria de filtrar essa exibição para exibir apenas os nós com a caixa de seleção "Revisado" marcada. No entanto, quando tento adicionar esse campo à minha exibição, são mostrados o seguinte:

Captura de tela da construção de uma exibição

Eu esperava que a caixa de seleção "Opções" fosse uma caixa de seleção que eu pudesse marcar ou deixar em branco. Em vez disso, recebi uma caixa de seleção com "Selecionar tudo". Independentemente de eu selecionar ou não, uma mensagem de erro é exibida dizendo "Não há valores válidos no filtro: Conteúdo: Revisado.":

Mensagem de erro "Nenhum valor válido encontrado"

Eu tentei o "expondo o truque da exibição principal" em http://technology.blue-bag.com/top-tip-drupal-views-no-valid-values-found-filter , mas isso não funcionou: não há filtro "desconhecido" na tela principal; portanto, não parece haver nada para corrigir.

Alguma idéia de como posso alcançar o resultado que estou procurando? E qual é o problema da interface do usuário estranha com a caixa de seleção em vez de uma caixa de seleção? Seria bom saber se há alguma lógica nisso; caso contrário, postarei um problema na fila de problemas apropriada do drupal.org.

Jim
fonte
Eu esperaria que um filtro para um campo booleano tivesse 3 estados: 1. Mostrar apenas resultados com "Sim", 2. Mostrar apenas resultados com "Não", 3. Mostrar todos os resultados.
Donquixote

Respostas:

11

isso é algum tipo de bug / incosistência de como o campo booleano é criado. se você o deixar no padrão, sem nenhum valor 0/1, ele não será exibido em lugares como este filtro.
Mas: os valores estão lá :) em "Selecionar tudo", você tem 2 linhas que simplesmente não possuem legendas. Quando você escolhe um deles, pode ver que o SQL para sua visualização foi alterado.
A solução alternativa seria adicionar algumas legendas aos valores na definição de campo.

mojzis
fonte
Obrigado, @mojzis! Também postei na fila de problemas do Views em drupal.org/node/2027171 .
Jim
@ Jim, desculpe, eu deveria ter salientado o seu mais de um problema no campo booleano, e, aparentemente, não é allready alguém trabalhando nisso :) drupal.org/node/1750950
mojzis
ah obrigada! Comentei o problema que publiquei na fila de problemas do Views para vinculá-lo ao problema principal do D8.
Jim
2

Eu também estava enfrentando o mesmo problema, o Rótulo do campo não foi exibido no filtro exposto da exibição.

Em seguida, fui às configurações do campo no tipo de conteúdo para esse campo da caixa de seleção e atualizei On Value como 1 e OFF value como 0 .

Agora o rótulo aparece no filtro exposto e funciona conforme o esperado.

Gaurav
fonte
1

Encontro o mesmo problema e, em vez disso, usando Selecionar tudo, você não deve selecionar nenhum valor. Se você já possui um valor selecionado, use Ctrl para desfazer sua seleção.

Fonte

magdmartin
fonte
1
Você pode expandir um pouco isso e explicar por que isso resolve a questão e não apenas o seu problema?
mpdonadio