Submitted by lendormi on
Bonjour à toutes et à tous,
Dernièrement j'ai développé un module sur drupal (ben oui c'est le forum de drupal ^^). Et je bloque sur un appel de fonction. J'ai l'impression que c'est tout bête mais je ne vois pourquoi je bloque.
Objectif : Récupérer les field_name de tous les champs CCK et l'intégrer dans une autre fonction.
Il s'agit d'appeler la fonction content_fields_list qui chope tous les champs champs CCK.
voici mon code :
if (drupal_strlen($node->field_text1[0]['value']), '') > 5) {
form_set_error('field_text1', t('champ ckk trop grand.'));
En gros je souhaiterais remplacer field_text1 (qui est un champ CCK) par un appel de tous les champs CCK.
Je vous remercie tout ceux qui peuvent m'aider.
Déjà il y a une
Permalien Soumis par emerya le 18 Novembre, 2009 - 11:44
Déjà il y a une parenthèse de trop :
if (drupal_strlen($node->field_text1[0]['value']), '') > 5) { devrait être
if (drupal_strlen($node->field_text1[0]['value'], '') > 5) {
;-)
Bonjour Est ce que tu es
Permalien Soumis par juliendubreuil le 18 Novembre, 2009 - 13:15
Bonjour
Est ce que tu es sûr que $node->field_text1[0]['value'] te renvois bien quelque chose ?
La fonction pour avoir la taille d'une chaine de caractères est drupal_strlen($text)
Essais donc :
if (isset($node->field_text1[0]['value']) && drupal_strlen($node->field_text1[0]['value']) > 5) {
form_set_error('field_text1', t('champ ckk trop grand.'));
}
Oui tu as raison, j'aurai du
Permalien Soumis par lendormi le 18 Novembre, 2009 - 13:31
Oui tu as raison, j'aurai du vérifier. En fait le field_text1 est un champ cck que j'ai créé. L'objectif était d'en créer plusieurs. Et de pouvoir les récupérer pour les insérer dans la script.
En tout cas je te remercie.
ps : emerya :D
Donc au final quel était le
Permalien Soumis par juliendubreuil le 18 Novembre, 2009 - 14:40
Donc au final quel était le vrai problème? Et quelle à été la solution ?
la solution je ne l'ai pas
Permalien Soumis par lendormi le 18 Novembre, 2009 - 14:57
la solution je ne l'ai pas encore trouvé. Le vrai problème c'est de pouvoir récupérer tous les champs cck. exemple :
Soit x champs CCK (field_text1 et field_text2 et ... field_textx)
Au lieu de :
if (isset($node->field_text1[0]['value']) && drupal_strlen($node->field_text1[0]['value']) > 5) {
form_set_error('field_text1', t('champ ckk trop grand.'));
}
if (isset($node->field_text2[0]['value']) && drupal_strlen($node->field_text2[0]['value']) > 5) {
form_set_error('field_text2', t('champ ckk trop grand.'));
}
...
if (isset($node->field_textx[0]['value']) && drupal_strlen($node->field_textx[0]['value']) > 5) {
form_set_error('field_textx', t('champ ckk trop grand.'));
}
Je souhaite pouvoir appeler tous ses champs cck en une seule fois de la façon suivante :
if (isset($node->field_(liste des champs cck)[0]['value']) && drupal_strlen($node->field_(liste des champs cck)[0]['value']) > 5) {
form_set_error('field_(liste des champs cck)', t('champ ckk trop grand.'));
}
Ce n'est pas forcément la bonne methode mais en tout cas c'est l'idée.