Je suis un noob, alors ne me frappez pas si ce que je vais écrire ne vaut rien.
Je pense que vous ne pouvez pas faire cela directement, à moins qu'il y ait un module intelligent là-bas qui ferait toutes les requêtes SQL désagréables nécessaires pour vérifier cela.
L'information de nœud est stockée dans la table SQL "node", et est identifiée simplement par NID (node ID, qui est le numéro de nœud qui apparaît après /? Q = node/dans l'adresse). Leurs alias, le cas échéant, sont stockés dans la table "url_alias", où vous pouvez trouver les colonnes "src" et "dst", identifiant l'original et le chemin d'alias (par exemple, src = 'node/123', dst = 'my/url/alias '). Les liens de menu peuvent être trouvés dans la table "menu_links", où vous pouvez trouver les colonnes "menu_name" (le nom machine-radable d'un menu) et "link_path" (soit le noeud/... ou l'alias).
Alors, ce que vous devez faire est la suivante:
- obtenir le JNV
- de nœud actuel requête « url_alias » s'il y a un alias pour le nœud/JNV et récupérer, sinon laissez noeud/JNV
- requête du « menu_links » table pour le chemin que vous avez déterminé et récupérer « aucun » ou lisible par machine le nom
de menu vous pouvez ensuite également interroger la table « menu_custom » pour vérifier quelle est la nom humainement lisible du menu que vous avez déterminé.
De toute façon, c'est une requête compliquée (plusieurs requêtes?) Et je suis un ignorant MySQL, donc je ne peux pas vous aider avec le code que vous aurez besoin d'utiliser pour vérifier tout ça: P.
Il y a un moyen direct de le faire et il est proposé par lmeurs sur cette même page. – asiby