web-dev-qa-db-fra.com

Conversion des noms de terme avec des caractères spéciaux en ID de terme dans les vues

J'ai une vue où je veux utiliser plusieurs termID comme arguments. Je veux utiliser un nom de terme de l'url et le convertir en termID. J'ai réussi à le faire assez facilement et cela fonctionne avec des termes simples de 1 mot ou même plusieurs mots en vérifiant les `` Transformer les tirets dans l'URL en espaces dans les arguments de nom de terme ''

J'ai quelques termes qui ont des caractères spéciaux, par exemple: "actualités et politique".

Existe-t-il un moyen d'avoir des URL de Nice (actualités politiques) et d'obtenir des vues pour reconnaître le bon terme et le convertir en le bon termID? Vais-je devoir encoder l'esperluette en url? Cela fonctionnera-t-il même?

Modifier: vous pouvez configurer des alias de chemin pour des termes de taxonomie uniques, mais c'est un problème lorsque vous souhaitez utiliser le nom du terme comme deuxième argument dans un chemin avec plusieurs arguments, par exemple:

Supposons que je veuille filtrer les résultats de la vue par% 1 terme d'actualités puis% 2 actualités et politique

/ actualités/actualités-politique

le deuxième mandat ne serait pas reconnu.

11
nickwshaw

Vous pouvez utiliser pathauto pour configurer des alias automatiques pour vos termes de taxonomie. Pathauto prendra soin des caractères d'URL invalides pour vous lors de la création des alias automatiques. Ensuite, à votre avis, utilisez le terme id comme argument. Le chemin de votre vue peut être soit la taxonomie/terme /%, soit les pseudonymes que vous avez configurés /%

2
Jepedo

En raison d'un bogue de longue date dans le module Vues signalé à problème # 672606: signes, tirets et barres obliques (+ - /) arguments de rupture sur Drupal.org, il n'est pas possible d'utiliser comme arguments (ou "filtres contextuels" dans un langage plus récent) des noms de termes qui contiennent certains caractères spéciaux. Quelques solutions de contournement sont proposées ici :

  1. Utilisez quelque chose comme le module Champ calculé (champ_computé) pour créer une valeur de champ conviviale pour l'URL sur le terme entité qui peut être utilisé comme argument. Soyez juste conscient de la (mince?) Chance de termes très similaires qui s'entrechoquent si vous ne faites pas attention à l'unicité.
  2. Utilisez simplement les ID de terme pour les arguments et créez des alias de chemin pour eux en utilisant le module View Alias (view_alias).
2
TravisCarden