it-swarm-eu.dev

Převádění názvů termínů se speciálními znaky na ID termínů v pohledech

Mám názor, kde chci použít více argumentů jako argumenty. Chci použít název termínu z adresy URL a převést jej na název termID. Podařilo se mi to dostatečně snadno a funguje to s jednoduchými 1 slovními výrazy nebo i více slovy kontrolou 'Transformace pomlček v URL na mezery v argumentech termínů'

Mám několik termínů, které mají zvláštní znaky, např .: „zprávy a politika“.

Existuje nějaký způsob, jak mít pěkné adresy URL (zpravodajská politika) a získat názory, které rozpoznají správný termín a převedou jej na správný termínID? Budu muset urlencode ampersand? Bude to fungovat?

Upravit: Můžete nastavit aliasy cesty pro jednotlivé taxonomické termíny, ale je to problém, když chcete použít název termínu jako druhý argument v cestě s více argumenty, například:

Řekněme, že jsem chtěl filtrovat výsledky zobrazení podle% 1 zpravodajského období a poté% 2 zpráv a politiky

/ novinky/novinky-politika

druhý termín by nebyl uznán.

11
nickwshaw

Pomocí pathauto můžete nastavit automatické aliasy pro své taxonomické podmínky. Pathauto se postará o neplatné znaky URL, když vytvoří automatické aliasy. Poté použijte jako argument výraz id. Cesta vašeho pohledu může být buď taxonomie/termín /%, nebo nastavená autoaliata /%

2
Jepedo

Kvůli dlouhodobé chybě v modulu Pohledy hlášené na Číslo # 672606: Znaménka plus, pomlčky a lomítka (+ - /) argumenty lomítka na Drupal.org, není možné použít jako argumenty (nebo „kontextové filtry“ v novějších výrazech), názvy termínů, které obsahují určité speciální znaky. Několik zástupných řešení jsou zde navržena :

  1. Použijte něco jako modul Computed field (computed_field) k vytvoření hodnoty pole pro URL pro entitu termínu, kterou lze použít jako argument. Stačí si uvědomit (štíhlou?) Šanci na velmi podobné výrazy, které se navzájem okrádají, pokud si nedáte pozor na jedinečnost.
  2. Jednoduše použijte pro argumenty termín ID a vytvořte pro ně aliasy cesty pomocí modulu View Alias (view_alias).
2
TravisCarden