node id opslaan in database

Forums: 
Drupalversie: 

Ik heb een formulier dat drie extra velden toevoegd in het aanmaakscherm voor een nieuwe node (node/add) ben op zoek naar de juiste manier om de waarde van die velden in de database te schrijven.

Mijn formulier wordt aangemaakt met hook_form_alter.
Als ik mijn velden bewaar met hook_form_subsmit lukt dit mooi, behalve voor node id, dat blijkbaar nog niet toegekend werd en dus 0 is.

Ik heb al wat geëxperimenteerd met $op in nodeapi maar kom er niet echt uit.

Dus: HELP! :)

Dank op voorhand.

Hoort die extra data bij de node? Dan aan $node toevoegen en pas in de DB opslaan in hook_nodeapi() met $op == 'save'.

Vuistregel: forms zijn niet bedoeld voor API-functionaliteit. Je kan een form het save-proces laten starten, maar je zal zelf vanuit dat proces moeten werken.

Bij $op == "save" wordt de code niet uitgevoerd (en geen record weggeschreven).
"save" staat ook niet bij de acties in de documentatie (voor zover ik ze heb: http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_nodeapi/6?).

Mijn fout. "insert" en/of "update" dan.

$op=="insert": worden er wel records bewaard, maar zowel node id als de ingevoerde waarde in de velden gaat verloren.
$op=="update": wordt niet uitgevoerd.
Afgaande op de uitleg in het boek "Pro Drupal Development" zou het inderdaad "Insert" moeten zijn ("A new node has just been inserted into the database") maar blijkbaar is de waarde van mijn invoervelden al verloren gegaan en heeft $nid geen waarde gekregen.

Je moet daarom in de form submit de waardes aan de node object toevoegen en in hook_nodeapi() de gegevens opslaan.

Actuele inhoud

21 mei 2012

20 mei 2012

19 mei 2012

18 mei 2012