Visualiza o nome da taxonomia dos filtros contextuais

106

Estou adicionando um filtro contextual a uma exibição para um tipo de conteúdo personalizado que possui um campo de taxonomia. O filtro contextual permite filtrar pelo ID da tag de taxonomia, mas não pelo nome da tag de taxonomia. Significado com as tags fornecidas na taxonomia:

1  | test1
2  | another tag
3  | taggy
......
99 | coolness

Posso gerar um filtro contextual que analisará um URL como http://mydrupal/myview/3para exibir todo o conteúdo que foi marcado com taggyMAS, o URL precisa passar o argumento para procurar pelo nome da marca em vez do ID da marca , por exemplo, http://mydrupal/myview/taggypara exibir todo o conteúdo marcado com taggyComo pode isso ser realizado?

powers1
fonte

Respostas:

156

Suponho que você adicionou o Content: Has taxonomy term IDfiltro contextual. Você pode usar nomes de termos de taxonomia com este filtro ajustando as Specify validation criteriaconfigurações. aqui está uma captura de tela:

Captura de tela

Verifique se Specify validation criteriaestá marcado e você deve receber mais opções. Em Validatorescolha Taxonomy term. Opcionalmente, você pode selecionar com vocabulários para permitir. Em Filter value typeescolher Term name converted to Term IDe marque a Transform dashes in URL to spaces in term name filter valuescaixa de seleção.

rocketeerbkw
fonte
6
com toda a honestidade, isso não é muito intuitivo em termos de taxonomia. Essa resposta me ajudou a resolver o problema de uma semana. :)
PhiloSurfer
brilhante! Muito obrigado pela solução detalhada. Eu nunca teria descoberto isso sozinho.
Uwe
1
Isto foi uma grande ajuda. Obrigado. No entanto, parece que se você estiver passando vários termos de taxonomia separados por sinais de +, isso não funcionará. Ou melhor, acho que está usando e E em vez de um Or.
2
Vale a pena notar - se você tentou passar um ID de termo por meio de um argumento de contexto do Painel de Exibição de Painéis e, em seguida, tenta isso, ter o argumento de contexto definido fará com que o filtro contextual não forneça o padrão. Novamente, esse "argumento de contexto", que é diferente de "filtro contextual" e seu valor padrão. Ficou um pouco confuso por alguns minutos ...!
aendrew
@rocketeerbkw Você tem a sintaxe AND / OR para trás! Meio que faz sentido, como você escreveu, mas não está certo.
DoubleJosh #
6

Outra maneira de esfolar o gato:

Eu precisava que a consulta do nome do termo de taxonomia real não fosse convertida em ID do termo.

Aqui está como consultar o nome do termo de taxonomia que foi passado como um filtro contextual:

Para obter o nome, você deve adicionar um relacionamento, no campo ou no relacionamento de taxonomia genérica. Em seguida, você pode adicionar qualquer campo para esse termo como um filtro contextual, incluindo o nome.

https://www.drupal.org/node/1156022#comment-4469378

Ben LeDuc
fonte