La dirección o la reescritura de enlaces drupal
Pregunta
I tiene una estructura personalizada para navegar por el contenido construido con hook_menu
y Vistas. Quisiera enlaces a contenidos que pueden dirigir por el tipo de nodo al destino apropiado en mi estructura. Así, mientras que normalmente haciendo clic en un enlace de nodo que lleva a node/123
, me gustaría en vez de ser enviado a foo/123
(porque el nodo 123 es de tipo 'foo').
He intentado Pathauto pero no funciona simplemente foo/123
crear un alias de node/123
. estructura específica, pestañas, etc ... se ha construido utilizando hook_menu
para foo/123
. Pathauto (como yo lo entiendo) es realmente sólo mostrando node/123
que es simplemente de la pantalla nodo de Drupal, y no lo que yo quiero mostrar.
Me empezó a poner juntos hook_nodeapi
y drupal_goto
para redirigir basado en el tipo de nodo.
[Trabajo a cabo algunos problemas de redirección infinitas, pero estoy seguro de que puede averiguarlo.] Pero lo que realmente quiero hacer esto? ¿No habrá ser un éxito velocidad para tener todos los eslabones en el pase sitio a través de una redirección HTTP?
¿Cuál es la mejor manera de hacer esto?
Editar
En realidad creo que el problema es que no está respetando Pathauto mi hook_menu, y posiblemente no es la herramienta adecuada para el trabajo.
Sin Pathauto configurado, sin embargo, tengo una hook_menu que define una página para foo/123
donde foo es el tipo de nodo. Navegando a las obras foo/###
como se esperaba mostrar mi versión personalizada de nodo ###.
Ahora quiero volver a dirigir a node/###
foo/###
, o dicho de otra manera, quiero que todos los enlaces a node/###
a ser escrito como foo/###
. Esto parece una tarea obvia para Pathauto donde bajo el tipo de nodo Foo mi patrón es foo/[nid]
. Excepto después de su puesta en marcha, mi hook_node ya no funciona. Eso es porque ahora foo/###
se están dirigiendo al node/###
como te pedí que y lo que se muestra es el de vainilla Drupal nodo de pantalla, no es mi hook_menu.
Solución
En realidad Pathauto se puede configurar para especificar el tipo de ruta personalizada. Utiliza el módulo de contadores a permitir fácilmente cómo reconfigurar Pathauto debe construir el alias ...
consultar en la página de administración de pathauto (admin / build / ruta / pathauto).
Editar
Para su edición Lo que yo haría es que implementa el hook_menu_alter, y yo modificaría el nodo /% de devolución de llamada página a su devolución de llamada utilizado en hook_menu para hacer que el / foo página 123.