Conversión de nombres de términos con caracteres especiales a ID de términos en vistas

11

Tengo una vista en la que quiero usar múltiples termID como argumentos. Quiero usar un nombre de término de la url y convertirlo en un termID. Me las arreglé para hacer esto con bastante facilidad y funciona con términos simples de 1 palabra o incluso varias palabras marcando 'Transformar guiones en URL a espacios en argumentos de nombre de término'

Tengo algunos términos que tienen caracteres especiales, por ejemplo: "noticias y política".

¿Hay alguna manera de tener buenas URL (noticias-política) y obtener vistas para reconocer el término correcto y convertirlo al ID de término correcto? ¿Tendré que codificar el ampersand? ¿Eso funcionará?

Editar: puede configurar alias de ruta para términos de taxonomía única, pero es un problema cuando desea utilizar el nombre del término como un segundo argumento en una ruta con múltiples argumentos, por ejemplo:

Digamos que quería filtrar los resultados de la vista por% 1 término de Noticias y luego% 2 Noticias y Política

/ noticias / noticias-política

segundo término no sería reconocido.

nickwshaw
fuente
¿Por qué no utilizas el término nombre como argumento?
Dobeerman
Mismo problema. El ampersand falta, así que drupal no puede encontrar el término. Creo que la única opción es codificar la URL del ampers y qué SEO no está interesado o tal vez almacenar un alias de ruta para cada término en la base de datos. Me preguntaba si alguien había encontrado esto antes y tenía una buena estrategia.
nickwshaw
Bueno, como una solución a corto plazo, simplemente reemplazaremos & con la palabra y. Así que Noticias y Política (noticias-política) será Noticias y Política (noticias y política)
nickwshaw

Respuestas:

2

Puede usar pathauto para configurar alias automáticos para sus términos de taxonomía. Pathauto se encargará de los caracteres de URL no válidos cuando cree los alias automáticos. Luego, en su opinión, utilice el término id como argumento. La ruta de su vista puede ser taxonomía / término /% o las autoalias que configuró /%

Jepedo
fuente
1
Gracias jepedo Esa es una gran solución para un solo término de taxonomía. Pero todavía hay un problema si desea utilizar el término como argumento comodín en una ruta de argumentos múltiples. Debería haberlo mencionado en mi publicación original y haberlo editado.
nickwshaw
2

Debido a un error de larga data en el módulo Vistas informado en el número 672606: signos más, guiones y barras diagonales (+ - /) rompen argumentos en Drupal.org, no es posible usarlos como argumentos (o "filtros contextuales "en el lenguaje más reciente) nombres de términos que contienen ciertos caracteres especiales. Allí se proponen un par de soluciones :

  1. Utilice algo como el módulo de campo calculado (campo_de_calculación) para crear un valor de campo compatible con URL en el término entidad que se pueda usar como argumento. Solo tenga en cuenta la posibilidad (¿delgada?) De términos muy similares que se intercambian entre sí si no tiene cuidado con la singularidad.
  2. Simplemente use ID de término para los argumentos y cree alias de ruta para ellos utilizando el módulo Ver alias (view_alias).
TravisCarden
fuente