¿Cómo uso los alias de URL en los menús?

14

Estoy pateando los neumáticos en Drupal 7 haciendo girar un sitio de prueba.

Elegí el tema de Danland y creé varias páginas con alias de URL para cada uno, pero cuando creo el enlace del menú para cada uno, solo puedo ingresar el nodo en el campo "Ruta" para el enlace del menú y no el alias. Así que solo puedo ingresar "nodo / 20" y no "acerca de nosotros" (el alias del nodo) en el menú.

Me gustaría que los elementos del menú se resuelvan en los alias y no en los nodos.
¿Cómo puedo hacer eso?

cpuguru
fuente
3
Cuando se muestra, el enlace del menú utilizará el alias de ruta definido. ¿Alguna razón por la cual esto no es suficiente?
Berdir
El mío no parece estar haciendo eso. No estoy seguro de si me falta alguna configuración en algún lugar o qué, vea: reboot.researchvessels.org/about-us que funciona como un alias pero no puedo hacer que el enlace del menú vaya allí. El campo de ruta solo acepta URL externas o referencias de nodo.
cpuguru
Estoy teniendo el mismo problema. Mi "menú principal" funciona bien con alias. Creé un nuevo menú. Este es el único que no guardará alias. Además, se rompe por completo porque cuando voy a "nodo / 10", quiero hacer clic en otra página, los enlaces del menú tienen un "nodo" adicional, por lo que apunta a "nodo / nodo / 10" "nodo / nodo / 11" etc. Si uso la ruta absoluta, me llevará a la página correcta, pero quiero que el menú pueda reconocer automáticamente qué página está activa, no reconoce que la URL absoluta es la ruta en la que estoy, así que la clase css "activa" no está configurada correctamente. Tengo drupal 7.2

Respuestas:

7

Al igual que Berdir mencionó en los comentarios y Greg mencionó en su respuesta , los siguientes métodos para agregar alias de ruta deberían Just Work ™:

  • Agregarlo en el formulario de envío del nodo durante la creación / edición del nodo
  • Usando Pathauto para crear automáticamente alias para los nodos.
  • Agregar alias manualmente yendo a ConfiguraciónBúsqueda y metadatosAlias ​​de URL

Que no está haciendo eso es raro. Intente borrar su caché yendo a ConfiguraciónDesarrolloRendimiento . Esto debería reconstruir los menús de Drupal y hacer que los alias de ruta se muestren correctamente.

Comunidad
fuente
1
¿Pensé que Global Redirect solo afectaba la resolución de URL, no el enlace de salida? Utilizo Global Redirect desde el principio en todos mis sitios; no estoy seguro de cómo se comporta Drupal sin él.
Greg
@ Greg tienes razón; Lo agregué como una posible solución, pero en realidad no hace nada para resolver el problema central, así que lo eliminé.
Los alias funcionan, es solo que no puedo ingresar la ruta con alias en el menú como destino, solo una URL externa o "nodo / x". No puedo decir que vaya a "acerca de nosotros" para la entrada del menú, solo "nodo / 20". Entonces, la pregunta es, ¿cómo puedo ingresar el alias como destino y no como nodo?
cpuguru
Limpié el caché e incluso eliminé y volví a crear la página Acerca de nosotros y todavía no me alegro.
cpuguru
Acabo de instalar el módulo Global Redirect y todavía no tengo
cpuguru
4

También podría ser que estás navegando por el sitio en un idioma diferente al que se creó el alias de URL. Si crea un alias mientras navega en alemán (por ejemplo), los visitantes que naveguen por el sitio en modo inglés seguirán viendo el nodo / 234234. Solo un consejo.

Yareckon
fuente
0

Si asigna el alias de ruta y la entrada de menú utilizando el formulario de agregar / editar nodo , los elementos de menú creados utilizarán las rutas con alias. Para casos de uso simple, no debería necesitar crear manualmente alias en la admin/config/search/pathpágina o crear manualmente entradas de menú en la admin/structure/menupágina.

Greg
fuente
Puedo crear los alias y funcionan si voy directamente a ellos, pero no puedo encontrar una manera de configurar el menú para usarlos. La única opción disponible parece ser "nodo / xx" para el campo Ruta, y cuando hace clic en el enlace muestra sitio / nodo / xx en el campo de dirección y no el alias de URL.
cpuguru
@cpuguru: si elimina el alias y el elemento del menú de un nodo, luego vuelve a crear el alias y el elemento del menú desde el formulario de edición del nodo, ¿el elemento del menú todavía no usa el alias?
Greg
No, acabo de intentarlo de nuevo con la página "Asociaciones". Eliminó el Alias ​​y el elemento del menú y luego agregó la página "Asociaciones", agregando el Alias ​​y agregándolo al Menú y aún aparece en el menú como "nodo / 21".
cpuguru
0

Acabo de probar con una nueva instalación de d7 usando el tema Danland y funciona correctamente. Si no puede hacerlo funcionar, siempre puede especificar una URL externa en su menú, ¿verdad? Como 'http://yourdomain.com/about-us' intead de 'node / 1'

Matthew Hui
fuente
0

Parece que la actualización de mi instalación de Drupal desde Drupal 7 a la nueva versión de Drupal 7.2 solucionó el problema. Fue eso o los controladores actualizados de SQL Server que acaban de lanzarse, que deberá instalar sobre los controladores PDO SQL Server originales para que los scripts de actualización funcionen si está actualizando a Drupal 7.2.

De cualquier manera, ahora la URL con alias aparece cuando hago clic en un enlace de menú. Por lo tanto, podrían ser los cambios de código en Drupal core 7.2 O las actualizaciones del controlador de SQL Server. No estoy 100% seguro de cuál es.

cpuguru
fuente