create node reservierte nid
Eingetragen von Hacky (255)
am 16.03.2011 - 20:09 Uhr in
am 16.03.2011 - 20:09 Uhr in
Wie komm ich an die Reservierte nid wenn ich einen Node erstelle ? Ich hab nun den halben Tag recherchiert und nichts gefunden, ich hoffe mir kann wer helfen -.-
Gruß Hacky
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Node ID wird nicht
am 16.03.2011 - 20:21 Uhr
Die Node ID wird nicht reserviert! Wenn die Funktion node_save zum ersten mal aufgerufen wird und deshalb der Node noch keine ID hat, wird der Datensatz für den Node in die node-Tabelle eingetragen. Das Feld nid ist ein autoincrement Feld, d.h. MySQL trägt automatisch die nächste Nummer gemäß des Incrementwertes ein. Danach liegt die ID fest und wird wieder in den Node-Array eingetragen, wenn damit noch weiter gearbeitet wird. Die Reihenfolge des Eintrags in die Datenbank legt also die Node-ID fest.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ja ich hätte das reservieren
am 16.03.2011 - 20:30 Uhr
Ja ich hätte das reservieren in "" setzten sollen. Ich hab einfach das problem, wenn ich zwei node-formulare gleichzeit öffne (jeweils unter einem anderen Benutzer) das er mir die selbe nid für mein Nodefield gibt. Ist auch logisch weil ich mir über ein sql befehl mir den letzten nid eintrag hole und den einfach + 1 rechne damit ich meine aktuelle nid vor dem node_save habe.
Aber trotzdem wird die
am 16.03.2011 - 20:49 Uhr
Aber trotzdem wird die Node-ID über die Reihenfolge des Sicherns vergeben. Du darfts also erst danach eingreifen, wenn Du die Node-ID benutzen willst. Mit Rules kannst Du nach dem Speichern einer Node eine Aktion lostreten. Dann liegt die NID fest.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Okay ich hab mir dein Tipp zu
am 17.03.2011 - 12:15 Uhr
Okay ich hab mir dein Tipp zu herzen genommen und mir Rules angschaut :) tolles Modul, und es kann nach dem speichern des nodes ein CCK feld überschreiben. Ich hab bloß ein paar syntax probleme nämlich wenn ich eine Aktion: CKK -> Ein feld Fülen dann habe ich die Einstellung meines feldes: Erweitert: Die Feldwerte mit PHP-Code festlegen dort geb ich ein:
<?php
$node->nid;
return array('node' => $node);
?>
Token kann ich im PHP feld ja nicht benutzen oder ?
gruß hacky