Wie rufe ich eine Funktion auf, wenn ein Knoten angezeigt wird?

8

Immer wenn ich eine Knotenseite ansehe, möchte ich eine Funktion aufrufen, bin mir aber nicht sicher, wie ich das machen soll.

Ich dachte, ich sollte hook_menu()den Pfad als Knoten /% verwenden und deklarieren und diesem Pfad eine Rückruffunktion hinzufügen. Ist das der richtige Weg oder gibt es einen richtigen / besseren Weg?

Harshal
quelle
ist das sehr einfach zu beantworten?
Harshal
1
Ja, die Antwort ist sehr einfach, aber ich bin mir nicht sicher, warum dies eine schlechte Frage ist. Die Abwertung scheint IMO unnötig. Ich habe bearbeitet, um zu verdeutlichen und klar zu machen, dass Sie selbst darüber nachgedacht haben, hoffentlich reicht das aus, um die Neinsager zu besänftigen :)
Clive
Ich muss zugeben, dass Clives Bearbeitung die Lesbarkeit dieser Frage erheblich verbessert hat :) +1 von mir. Fragen, die einfach zu beantworten sind, wenn Sie wissen, dass die Antwort nicht immer schlecht ist, sind manchmal schwierig, sie im Internet oder in den Dokumenten von drupal.og zu suchen.
Mołot

Antworten:

6

Sie können implementieren hook_node_view()

Handle auf einen Knoten, der vor dem Rendern zusammengesetzt wird.

z.B

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

Das Regelmodul kann auch auf den URL-Zugriff reagieren. Sie können eine angeben Aktion soll auf passieren Ereignis , wenn Bedingung wahr ist.

  • Ereignis: Inhalt wird angezeigt
  • Bedingung: Wahrscheinlich 'Textvergleich' auf [Site: aktuelle Seite: Pfad]
  • Aktion: Wenn keine der bereits bereitgestellten Aktionen Ihren Anforderungen entspricht, können Sie Ihre eigene Funktion als Regelaktion bereitstellen .
Mołot
quelle