it-swarm.com.de

So erhalten Sie die ID des aktuellen Knotens

Ich benötige eine Funktion, um das nid des aktuellen node zurückzugeben, das das aktuelle user beobachtet. Können Sie mir helfen?

2
mahdi alikhasi

Wenn Sie auf einer Funktion bestehen, suchen Sie nach der Funktion arg.

arg(0) gibt 'node' zurück und arg(1) gibt node nid zurück.

Vorausgesetzt, Sie müssen sich innerhalb eines Knotens befinden.

[Aktualisierte Antwort]

if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  if ($nid) {
    $node = node_load($nid);
    /** do something **/  
  }
}

alternativ

sie können nid vom Knotenobjekt $node->nid erhalten.

8
Ram

Du hast Zugriff $node Objekt. $node->nid gibt Ihnen die NID des Knotens zurück.

Es gibt einen Hook, mit dem Sie weiter etwas erreichen können, wenn der Benutzer den Knoten anzeigt - hook_node_view () .

Es gibt drei Parameter des Hakens - $node (gibt das Knotenobjekt zurück), $view_mode (Ansichtsmodus des Knotens wie voll oder Teaser) & $langcode (Sprachcode zum Rendern).

Sie können diesen Hook in Ihrem Modul verwenden und Ihre Logik wie folgt schreiben:

function MYMODULE_node_view($node, $view_mode, $langcode){//replace your module name with MYMODULE here
  if($node->type == 'article' && $view_mode == 'full'){ //if content type is article & user is on full node view
    //do domething
  }
}
2
RajeevK