Como passar o filtro contextual do Views via URL?

18

Quero passar alguns valores para minha visualização por meio de filtros contextuais no URL. Quais os GET naImes eu uso? Parece não haver nenhuma pista, apenas esta "Os valores de filtro contextual são fornecidos pelo URL".

Se eu tiver que construir esse URL, como descobrir quais nomes de var GET eu preciso passar para que sejam reconhecidos?

giorgio79
fonte

Respostas:

13

Os filtros contextuais não são passados ​​em variáveis ​​separadas, eles fazem parte do caminho. Se o caminho da visualização for xxx / aaaa, para ter um valor de filtro nn, o caminho seria xxx / aaaa / nn.

Alfred Armstrong
fonte
11
+1. e esse pedido xxx / aaaa é o mesmo que você pode ver no painel "Filtros contextuais" na interface do usuário do Views.
AyeshK
12

Use Fornecer valor padrão no filtro contextual.

filtro contextual

Além disso, você pode usar o código php para obter o valor do URL

insira a descrição da imagem aqui

Sibiraj PR
fonte
11
Você tem algum exemplo do código PHP que se poderia usar? Obrigado!
petergus
Está relacionado a esse campo. Por exemplo: - Este é um campo numérico - retorne 1; ou retorne $ user-> uid; etc ..... vai funcionar.
Sibiraj PR
Não existem essas opções para quando o valor não está no URL? Como ele medirá seu valor enviado como parâmetro?
pal4life
Nunca é uma boa prática para ter código PHP em seu banco de dados, sempre faça o seu código em arquivos e salvá-los em um sistema de revisão do código
lslinnet
5

Se você deseja passar argumentos via GET na URL, pode usar o módulo BEF para isso.

Por exemplo: mydomain.com/your-view-path?field_a=valuea&field_b=valueb

Com Melhores filtros expostos, você precisa adicionar filtros expostos (não filtro contextual), marque a opção Expor este filtro e o nome da variável GET está abaixo em mais opções. Então, se você não quiser mostrar o filtro, poderá ocultá-lo nas Configurações de filtros melhor expostos.

Não se esqueça de ativar a opção Usar Ajax se a sua exibição for uma exibição em bloco.

A configuração do estilo de filtro exposto deve ser definida em Filtros melhor expostos, em vez de Básico.

É muito útil com blocos de exibição.

almoraleslopez
fonte