Submitted by nyl auster on
Bonjour à tous
J'utilise node_save() pour créer des produits ubercart de façon automatique
J'ai vu des exemples de code qui préconisaient d'utiliser node_submit avant node_save.
Je viens de m'apercevoir qu'il me bouffait une valeur d'un champ CCK lors de la sauvegarde et depuis que je l'ai viré tout va mieux.
A quoi sert exactement node_submit? quelle est la syntaxe d'utilisation correcte, car j'ai trouvé deux version :
<?php
node_submit($node);
node_save($node);
?>
Ou bien
<?php
$node=node_submit($node);
node_save($node);
?>
Merci de vos lumières!
un petit up?
Permalien Soumis par nyl auster le 2 Juillet, 2009 - 16:53
un petit up?
Pour ce qui est de la
Permalien Soumis par chu le 3 Juillet, 2009 - 00:57
Pour ce qui est de la syntaxe correcte, que nous dit http://api.drupal.org ?
4.6 node_submit(&$node)
4.7 – 7 node_submit($node)
Donc à moins que tu n'utilises la version 4.6, il faudra utiliser la solution
$node=node_submit($node). Si tu ne vois pas la "subtilité" entre les 2 signatures, jette un coup d'oeil sur le passage d'arguments par référence dans un manuel PHP.
En ce qui concerne l'intérêt de node_submit() par rapport à node_save() : POUR MOI dans node_submit() tu prépares les données avant enregistrement alors que node_save() sert seulement à enregistrer les données en base (théoriquement tu ne devrais pas faire de traitement sur les données dans node_save() même si dans les faits rien ne t'oblige à appliquer cette règle).
Cette interprétation est tout à fait personnelle, je laisse le soin aux autres forumeurs de confirmer ou d'infirmer ma vision de la chose...
a+