Eu tenho dois campos de perfil de usuário "Sobrenome" e "Nome". Eu também tenho uma lista de usuários. Desejo expor "Nome" como filtro, que pode pesquisar por Sobrenome e Nome. Como posso fazer um filtro único de combinação desses dois campos? Posso criá-lo a partir da interface do usuário do views?
Uma maneira possível é criar outro campo de perfil "Nome", que ficará oculto no formulário. No salvamento do usuário, eu combinaria os dois valores do campo no campo "Nome" e os exporia como filtro nas visualizações. Mas esta solução é codificada e precisa escrever ganchos.
Respostas:
Acabei conseguindo uma solução disso . Eu segui a segunda solução primária oferecida, embora o blogueiro tenha usado pessoalmente
hook_views_query_alter()
.Isso me deu uma solução rápida sem codificação.
Aqui está outra referência útil.
fonte
Na minha instalação, o D7 com Views 7.x-3.6, você pode adicionar um filtro "Global: Combine Field Filter" que fará exatamente o que você precisa, permitindo que os usuários pesquisem em vários campos com um único filtro.
fonte
É realmente fácil.
Obrigado.
fonte
Trabalha fora da caixa
O caminho mais fácil é usar o filtro "Termos de pesquisa", que é a funcionalidade principal do Views . Ele pesquisará todos os campos da entidade e retornará o resultado, sem necessidade de módulo extra!
É isso, nada mais a fazer (você pode querer expô-lo)
Ele executa muito bem também.
fonte
Você pode usar hook_views_pre_execute (& $ view) para estender sua única condição a vários campos que você deseja
fonte