Convertendo nomes de termos com caracteres especiais em IDs de termos nas exibições

11

Eu tenho uma visão em que eu quero usar vários termID como argumentos. Quero usar um nome de termo a partir da URL e convertê-lo em um termID. Eu consegui fazer isso com bastante facilidade e funciona com termos simples de 1 palavra ou até várias palavras, marcando a opção 'Transformar traços em URL em espaços nos argumentos de nome de termo'

Eu tenho alguns termos que possuem caracteres especiais, por exemplo: "notícias e política".

Existe alguma maneira de ter URLs legais (news-policy) e obter visualizações para reconhecer o termo correto e convertê-lo no termID correto? Terei de codificar o e comercial? Será que isso funciona?

Editar: você pode configurar aliases de caminho para termos de taxonomia única, mas é um problema quando você deseja usar o nome do termo como um segundo argumento em um caminho com vários argumentos, por exemplo:

Digamos que eu queira filtrar os resultados da exibição por% 1 termo de notícias e% 2 notícias e política

/ notícias / notícias-política

segundo mandato não seria reconhecido.

nickwshaw
fonte
Por que você não usa o nome do termo como argumento?
Dobeerman #
Mesmo problema. O e comercial está ausente, então o drupal não consegue encontrar o termo. Eu acho que a única opção é codificar o E comercial com o qual o SEO não está interessado ou talvez armazenar um alias de caminho para cada termo no banco de dados. Só queria saber se alguém já encontrou isso antes e tem uma boa estratégia.
nickwshaw
Bem, como uma solução de curto prazo, vamos substituir & pela palavra e. Então News & Politics (news-política) será News and Politics (notícia-e-política)
nickwshaw

Respostas:

2

Você pode usar o pathauto para configurar aliases automáticos para seus termos de taxonomia. Pathauto cuidará dos caracteres de URL inválidos quando criar os aliases automáticos. Em sua opinião, use o termo id como argumento. O caminho da sua visualização pode ser taxonomia / termo /% ou as autoalias que você configurou /%

Jepedo
fonte
1
Obrigado Jepedo. Essa é uma ótima solução para um único termo de taxonomia. Mas ainda há um problema se você deseja usar o termo como um argumento curinga em um caminho com vários argumentos. Eu deveria ter mencionado isso no meu post original e agora o editado.
nickwshaw
2

Devido a um bug de longa data no módulo Views relatado na edição # 672606: Sinais de adição, traços e barras (+ - /) argumentos de interrupção no Drupal.org, não é possível usar como argumentos (ou "filtros contextuais nomes de termos que contêm certos caracteres especiais. Algumas soluções alternativas são propostas lá :

  1. Use algo como o módulo Campo computado ( campo computado) para criar um valor de campo compatível com URL no termo entidade que pode ser usado como argumento. Apenas esteja ciente da (esbelta?) Chance de termos muito semelhantes assobiar um ao outro se você não for cuidadoso com a exclusividade.
  2. Simplesmente use IDs de termo para os argumentos e crie aliases de caminho para eles usando o módulo View Alias (view_alias).
TravisCarden
fonte