Node Id bzw. nid herausfinden
Eingetragen von drupalcentersven (44)
am 18.02.2011 - 22:34 Uhr in
am 18.02.2011 - 22:34 Uhr in
Ich stehe grade auf dem Schlauch.
Ich habe mit hook_form_FORM_ID_alter mehrere Felder hinzugefügt. Die Inhalte dieser Felder speichere ich in einer extra Tabelle. So weit so gut.
Um die Inhalte mit der Node in Beziehung zu setzen brauche ich ja die "nid". Wie finde ich die raus? Und jetzt die Preisfrage: Woher weiß ich, welche "nid" die Node bekommt, wenn ich doch mit dem Formular die Node erst erstelle???
Wie macht ihr das?
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du über den hook_nodeapi
am 18.02.2011 - 22:47 Uhr
Wenn Du über den hook_nodeapi gehst ist die NID hier definiert: $node->nid
Wenn Du das Devel Modul verwendest kannst Du ja mit dpm($node) mal in deinem Modulhook das Objekt ausgeben lassen.
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
Das ist mir leider beides
am 18.02.2011 - 23:04 Uhr
Das ist mir leider beides nicht klar...
Wie würde ich den hook_nodeapi verwenden? Ich habe wie gesagt einen hook_form_FORM_ID_alter für das extra feld und einen hook_FORM_ELEMENT_submit um die inhalte einzutragen.
Bekomme ich über den hook_nodeapi auch eine nid, wenn ich die Node grade erst erstelle?
Ich verwende das Devel Modul, aber wo füge ich dpm($node) ein?
wenn du über den hook_nodeapi
am 18.02.2011 - 23:13 Uhr
wenn du über den hook_nodeapi gehst ist die NID gesetzt und Du kannst Sie direkt aus dem Objekt holen.
<?php
function deinmodulename_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'insert':
// Hier Dein Quellcode
dpm($node);
break;
}
}
?>
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
aaaaaaaahh! Naja, in Drupal 7
am 19.02.2011 - 00:11 Uhr
aaaaaaaahh!
Naja, in Drupal 7 hat sich wohl was geändert, aber das hat mich auf die richtige Spur gebracht.
Vielen Dank!
Noch eine kurze Frage hinterher: Kann ich in verschiedenen Fieldsets Formelement mit dem selbem Namen haben? Ich verweise ja immer nur auf $node->element_name, Fieldset-Name unbeachtet, oder?