Submitted by kvasir on
Bonjours à tous,
J'utilise actuellement le hook nodeapi mais je n'arrive pas à changé les valeur avant l'enregistrement d'un noeud et je ne sais pas pourquoi pourtant je suis bien ce qui est dit sur le tuto :
<?php
function facture_nodeapi($node, $op)
{
//Si c'est un noeud de type facture
if ($node->type == 'personne')
{
switch ($op)
{
case 'submit' :
node->age = 8;
}
}
}
?>
je pense que c'est lors du node->age que ça coince mais je ne sais pas comment faire si quelqu'un peut m'aider ce serais cool.
Merci d'avance.
Ton code ne respecte pas les
Permalien Soumis par haza le 21 Avril, 2011 - 09:32
facture_nodeapi(&$node, $op)
case 'submit' :
node->age = 8;
}
Il manque le "
&
" devant node.print_r($node)
oudsm($node)
si tu as devel installé, afin de verifier la clé.Et dans mon exemple le age
Permalien Soumis par kvasir le 21 Avril, 2011 - 18:21
Et dans mon exemple le age qu'est ce que c'est ce n'est pas le nom machine mais c'est quoi alors?
Merci de te relire avant de
Permalien Soumis par haza le 21 Avril, 2011 - 18:55
Merci de te relire avant de poster, c'est incompréhensible là.
Oula en effet je dois avouer
Permalien Soumis par kvasir le 21 Avril, 2011 - 19:52
Oula en effet je dois avouer que j'ai fait assez fort là XD j'arrive pas à comprendre ce que j'ai voulu dire, en fait c'est une épreuve de décryptage ... bref ça me réussit pas les écrans 24/24 surtout pour bosser enfin bon fini de raconter ma vie là XD.
Donc prenons un exemple j'ai un type de nœud 'personne' avec un titre(nom), un prénom et un age. Se qui me donne :
Label : Nom ; Nom : field_titre;
Label : Prénom ; Nom : field_prenom;
Label : Age ; Nom : field_age;
Donc si je désire incrémenter l'age suivant la taille de la chaine de caractères du prenom je devrais faire un truc comme ça :
J'ai bon ou pas??? Par ce que si j'ai bon sa veut dire que mon erreur n'est pas a cette endroit.
Merci à toi Haza de m'aider jusqu'au bout c'est cool.
Comme j’ai dis plus haut,
Permalien Soumis par haza le 21 Avril, 2011 - 19:58
Comme j'ai dis plus haut, fait un
print_r('<pre>' . $node . '</pre>');
, tu verras que, non, ce n'est pas. (dans le cas d'un field CCK, c'est $node->field_NAME[0]['value'] normalement)J’ai suivie à la lettre
Permalien Soumis par kvasir le 21 Avril, 2011 - 21:49
J'ai suivie à la lettre toutes tes explications très claire ça devrait donc fonctionné sans problème mais non ... quand je met :
Rien ne se passe mon module est tout simplement ignoré...
HA HA HA HA qu’elle abruti
Permalien Soumis par kvasir le 21 Avril, 2011 - 22:09
HA HA HA HA qu'elle abruti que je suis il faillais utiliser presave pour ce que je voulais faire en tout cas ça fonctionne maintenant et tout ça grâce à toi ... je sais pas si un jour je pourrais te rendre la pareil mais sache que heureusement que des gars comme toi existe sinon le monde ne serais pas le même (en tout cas le monde d’internet XD)
Encore merci et si un jours t'as besoin d'aide hésite pas met moi dans ton répertoire à une dette envers moi ;).