Redirigeant ou la réécriture des liens drupal
Question
J'ai une structure personnalisée pour navigation dans le contenu construit avec hook_menu
et vues. Je voudrais des liens vers le contenu à être acheminés par type de nœud à la destination appropriée dans ma structure. Ainsi, en cliquant sur un lien normalement node vous amène à node/123
, je place que d'être envoyé à foo/123
(parce que le noeud 123 est de type « foo »).
J'ai essayé Pathauto mais il ne fonctionne pas simplement faire foo/123
un alias de node/123
. structure spécifique, onglets, etc ... a été construit en utilisant hook_menu
pour foo/123
. Pathauto (si je comprends bien) est vraiment juste affiche node/123
qui est juste affichage noeud stock drupal, et non ce que je veux montrer.
J'ai commencé à mettre sur pied hook_nodeapi
et drupal_goto
à redirect en fonction du type de noeud.
[Travail sur certaines questions de redirection infinies, mais je suis sûr que je peux comprendre.] Mais ce que je veux vraiment faire ça? Est-ce pas là un coup de vitesse pour avoir tous les liens sur le passage du site à travers une redirection HTTP?
Quelle est la meilleure façon de le faire?
Modifier
En fait, je pense que le problème est que Pathauto ne respecte pas mon hook_menu, et peut-être pas le bon outil pour le travail.
Sans Pathauto encore mis en place, j'ai un hook_menu qui définit une page pour foo/123
où foo est le type de noeud. Navigation dans les œuvres de foo/###
comme prévu afficher ma version personnalisée du noeud ###.
Maintenant, je veux rediriger node/###
à foo/###
, ou d'autres termes, je veux tous les liens vers node/###
à écrire comme foo/###
. Cela semble être une tâche évidente pour Pathauto où sous le type de noeud Foo mon modèle est foo/[nid]
. Sauf après sa mise en place, mon hook_node ne fonctionne plus. C'est parce que maintenant foo/###
est acheminé vers node/###
comme je l'ai demandé à et ce qui est affiché est l'écran nœud vanille drupal, pas mon hook_menu.
La solution
En fait Pathauto peut être configuré pour spécifier votre type de chemin d'accès personnalisé. Il utilise le module jeton pour vous permettre facilement reconfigure comment Pathauto doit construire les alias ...
Vérifiez dans la page d'administration de pathauto (admin / build / chemin / pathauto).
Modifier
Pour modifier Ce que je voudrais faire est d'outils le hook_menu_alter, et je modifier le nœud /% rappel page à votre rappel utilisé dans hook_menu pour rendre le foo / 123 page.