Catégories:
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 !
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

un petit up ?
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838
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+
chu
208