Comment utiliser les alias d'URL dans les menus?


14

Je botte les pneus sur Drupal 7 en faisant tourner un site de test.

J'ai choisi le thème Danland et créé différentes pages avec des alias d'URL pour chacun, mais lorsque je crée le lien Menu pour chacun, je ne peux entrer le nœud dans le champ "Chemin" pour le lien menu et pas l'alias. Je ne peux donc saisir que "node / 20" et non "about-us" (l'alias du node) dans le menu.

J'aimerais que les éléments de menu se résolvent aux alias et non aux nœuds.
Comment je fais ça?


3
Lorsqu'il est affiché, le lien du menu utilisera l'alias de chemin défini. Une raison pour laquelle cela ne suffit pas?
Berdir

Le mien ne semble pas faire ça. Je ne sais pas si je manque une configuration quelque part ou quoi - voir: reboot.researchvessels.org/about-us qui fonctionne comme un alias mais je ne peux pas faire y aller le lien du menu. Le champ Chemin accepte uniquement les URL externes ou les références de nœud.
cpuguru

J'ai le même problème. Mon "menu principal" fonctionne très bien avec les alias. J'ai créé un nouveau menu. C'est le seul qui ne sauvegarde pas les alias. De plus ça casse complètement car quand je vais dans "node / 10" alors je veux cliquer sur une autre page les liens du menu ont un "node" supplémentaire donc il pointe sur "node / node / 10" "node / node / 11" etc. Si j'utilise le chemin absolu, cela m'amènera à la page correcte, mais je veux que le menu puisse reconnaître automatiquement la page active, il ne reconnaît pas que l'URL absolue est le chemin sur lequel je me trouve, donc la classe css "active" n'est pas définie correctement. J'ai drupal 7.2

Réponses:


7

Comme Berdir l'a mentionné dans les commentaires et Greg l'a mentionné dans sa réponse , les méthodes suivantes pour ajouter des alias de chemin devraient fonctionner correctement:

  • L'ajouter sur le formulaire de soumission de nœud lors de la création / modification du nœud
  • Utilisation de Pathauto pour créer automatiquement des alias pour les nœuds.
  • Ajouter des alias manuellement en allant dans ConfigurationRecherche et métadonnéesAlias ​​d'URL

Que ça ne fasse pas ça, c'est bizarre. Essayez de vider votre cache en allant dans ConfigurationDéveloppementPerformances . Cela devrait reconstruire les menus de Drupal et afficher correctement les alias de chemin.


1
Je pensais que la redirection globale n'affectait que la résolution des URL, pas la sortie du lien? J'utilise Global Redirect depuis le début sur tous mes sites - je ne sais pas comment Drupal se comporte sans lui.
Greg

@Greg vous avez raison; Je l'ai ajouté comme solution de contournement possible, mais cela ne fait rien pour résoudre le problème principal, je l'ai donc supprimé.

Les alias fonctionnent, c'est juste que je ne peux pas entrer le chemin aliasé dans le menu comme destination, seulement une URL externe ou "node / x". Je ne peux pas lui dire d'aller à "about-us" pour l'entrée de menu, seulement "node / 20". La question est donc de savoir comment puis-je entrer l'alias en tant que destination et non le nœud?
cpuguru

J'ai effacé le cache et même supprimé et recréé la page À propos de nous et toujours pas de joie.
cpuguru

Je viens d'installer le module Global Redirect et toujours pas de chance - drupal.org/project/globalredirect
cpuguru

4

Il se peut également que vous naviguiez sur le site dans une langue différente de celle pour laquelle l'alias d'URL a été créé. Si vous créez un alias lors de la navigation en allemand (par exemple), les visiteurs naviguant sur le site en mode anglais verront toujours le noeud / 234234. Juste un conseil.


0

Si vous affectez à la fois l'alias de chemin et l'entrée de menu à l'aide du formulaire d'ajout / modification de nœud , les éléments de menu créés utiliseront les chemins alias. Pour les cas d'utilisation simples, vous ne devriez pas avoir besoin de créer manuellement des alias sur la admin/config/search/pathpage ou de créer manuellement des entrées de menu sur la admin/structure/menupage.


Je peux créer les alias et ils fonctionnent si j'y vais directement, mais je ne trouve pas de moyen de configurer le menu pour les utiliser. La seule option disponible semble être "node / xx" pour le champ Path, et lorsque vous cliquez sur le lien, il affiche site / node / xx dans le champ d'adresse et non l'alias d'URL.
cpuguru

@cpuguru - Si vous supprimez l'alias et l'élément de menu d'un nœud, puis recréez l'alias et l'élément de menu à partir du formulaire de modification de nœud, l'élément de menu n'utilise-t-il toujours pas l'alias?
Greg

Non, je viens de réessayer avec la page "Partenariats". Supprimé l'alias et l'élément de menu, puis ajouté la page "Partenariats", en ajoutant l'alias et en l'ajoutant au menu et il apparaît toujours dans le menu comme "nœud / 21".
cpuguru

0

Je viens d'essayer avec une nouvelle installation d7 en utilisant le thème Danland et cela fonctionne correctement. Si vous ne pouvez pas le faire fonctionner, vous pouvez toujours spécifier une URL externe dans votre menu, n'est-ce pas? Tels que «http://votredomaine.com/about-us» au lieu de «nœud / 1»


0

Il semble que la mise à jour de mon installation Drupal de Drupal 7 vers Drupal 7.2 nouvellement publié a résolu le problème. C'est soit cela, soit les pilotes SQL Server mis à jour qui viennent d'être publiés, que vous devrez installer sur les pilotes PDO SQL Server d'origine pour que les scripts de mise à jour fonctionnent si vous mettez à jour vers Drupal 7.2.

Quoi qu'il en soit, l'URL alias apparaît maintenant lorsque je clique sur un lien de menu. Il peut donc s'agir des modifications de code dans Drupal core 7.2 OU des mises à jour du pilote SQL Server. Je ne suis pas sûr à 100% de laquelle il s'agit.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.