¿Cómo llamar a una función cuando se está viendo un nodo?

8

Cada vez que veo una página de nodo, quiero llamar a una función pero no estoy seguro de cómo hacerlo.

Estaba pensando que debería usar hook_menu()y declarar la ruta como nodo /%, y adjuntar una función de devolución de llamada a esa ruta. ¿Es esa la forma correcta o hay una forma correcta / mejor?

harshal
fuente
¿Es esto muy simple de responder?
harshal
1
Sí, la respuesta es muy simple, pero no estoy seguro de por qué eso hace que esta sea una mala pregunta. El voto negativo parece innecesario de la OMI. Edité para aclarar y hacer obvio que tú mismo has pensado en esto, con suerte eso será suficiente para apaciguar a los que no dicen :)
Clive
Debo admitir que la edición de Clive mejoró significativamente la legibilidad de esta pregunta :) +1 de mi parte. Las preguntas simples de responder cuando sabes que la respuesta no siempre son malas, a veces es difícil buscarlas en la red o en los documentos de drupal.og.
Mołot

Respuestas:

6

Puedes implementar hook_node_view()

Actúe sobre un nodo que se está ensamblando antes de renderizar.

p.ej

function MYMODULE_node_view($node, $view_mode, $langcode) {
  if ($node->type == 'the_type' && $view_mode == 'full') {
    // Call your function here.
    my_function($node);
  }
}
Clive
fuente
2

El módulo de reglas también puede reaccionar al acceso URL. Puede especificar una acción que se supone que sucederá en el evento si la condición es verdadera.

Mołot
fuente