Information importante
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
regarde le module webform.
Permalien Soumis par jubjub le 29 Mars, 2007 - 13:49
regarde le module webform. il pourrais etre a la hauteur de tes esperances.
Merci du conseil jubjub mais
Permalien Soumis par azz le 29 Mars, 2007 - 18:49
Merci du conseil jubjub mais j'ai fini par commencer a bricoler un petit module et je dois dire que je prefere (ca me permet de connaitre un peu mieux )
par contre je bloque la, enfaite j'ai crée le formulaire et maintenant j'ai besoin de recuperer les données pour les traiter ... une idée ?
vraiment dommage qu'il n'ait pas plus de ressource en francais ...
Hello, Quelle version de
Permalien Soumis par drupalfrance le 29 Mars, 2007 - 23:00
Hello,
Quelle version de Drupal utilises-tu ?
Je pense que tu peux arriver
Permalien Soumis par Zigazou le 29 Mars, 2007 - 23:26
Je pense que tu peux arriver à t'en sortir sans ressource en français. Si tu prends le Forms API quick start guide, la simple lecture des bouts de code devrait te mettre sur la voie.
j'utilise la version 5 de
Permalien Soumis par azz le 30 Mars, 2007 - 11:06
j'utilise la version 5 de drupal
en effet la page que tu donne est pas mal Zigazou mais j'ai toujours un petit probleme avec la fonction _submit j'ai beau essayé d'exploité le tableau form_values ou retourner un quelquecon message , mais rien a faire ca me renvoi sur la page de mon formulaire a chaque fois
en plus si j'ai bien compris ce n'est pas la seul facon de recuperer les données d'un formulaire , peut ton recuperer le tableau $form avec un $_POST['form'] ou quelque choses du genre ?
merci encore ^^
Peut ton recuperer le
Permalien Soumis par Zigazou le 30 Mars, 2007 - 11:30
Peut ton recuperer le tableau $form avec un $_POST['form']
Techniquement c'est possible, par contre c'est complètement déconseillé !
Concernant ton problème de récupération de valeurs, si tu pouvais poster le code qui ne marche pas, je pense que le problème serait très rapidement résolu. Il faut que tu donnes :
Bonjour voici donc le code
Permalien Soumis par azz le 30 Mars, 2007 - 11:41
Bonjour
voici donc le code :
function contenu() {
$content = drupal_get_form('a_form', $form);
return $content;
}
function a_form(&$node) {
$form['general']= array(
'#type' => 'textarea',
'#title' => t('Short description of ticket'),
'#cols' => 60,
'#rows' => 1,
'#description' => t(''),
);
$form['general'] = array(
'#type' => 'select',
'#title' => t('Ticket type'),
'#description' => t(''),
);
$form['submit'] = array('#type' => 'submit','#value' => t('Save'));
return $form;
}
function a_submit($form_id, $form_values) {
return drupal_set_message("vous ete la ?");
/
La dedans , j'ai essayé une requete sql, un t('$form_value['field']); et plein de truc parfelu mais rien ne marche ...
/
}
voila j'ai pas tout balancé juste le necessaire
dis moi si jme trompe mais
Permalien Soumis par azz le 30 Mars, 2007 - 12:29
dis moi si jme trompe mais d'après ce que tu m'a dis ce que je fais la c'est deconseillé ?
function a_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array('path' => 'a', 'title' => t('module a'),
'callback' => 'contenu',
'access' => user_access('access a'));
$items[] = array('path' => 'a/edit', 'title' => t('module a'),
'callback' => 'contenu2',
'access' => user_access('access a'));
$items[] = array('path' => 'a/view','type' => MENU_CALLBACK, 'title' => t('view'),
'callback' => 'contenu3',
'access' => user_access('access a'));
}
return $items;
}
function contenu2() {
$content = "<form method=post action='/drupal5/?q=a/view'> <input name='aa' type=text size=20><input type=submit value='envoi ltest'> </form>";
return $content;
}
function contenu3() {
$content = $_POST['aa'];
return $content;
}
enfaite j'ecris un petit formulaire sans passer par les fonctions drupal, ensuite je le recupere dans une autre page, toujours sans passer par les fonctions drupal ... a priori ca a l'air de marcher
dis moi si jme trompe mais
Permalien Soumis par Zigazou le 30 Mars, 2007 - 13:15
dis moi si jme trompe mais d'après ce que tu m'a dis ce que je fais la c'est deconseillé ?
Totalement !
Le gestionnaire de formulaire prend notamment en compte la configuration de Drupal. Quand tu saisis /?q=a/view, ton formulaire fonctionnera uniquement si l'URL rewriting n'est pas activé. Le gestionnaire positionnera ce champ comme il convient. Ceci n'est qu'un exemple, il existe plein d'autres paramètres gérés automatiquement.
Il est également protégé contre certaines attaques.
Concernant l'exemple précédent, il est clair que cela ne peut pas fonctionner.
Prenons l'exemple du module pathmenu (que je connais bien, et pour cause). Il utilise un formulaire ultra-simple : il y a un textarea et un bouton submit...
Dans le hook_menu, j'indique la fonction à appeler pour définir le formulaire.
La callback est pathmenu_admin. C'est cette fonction que Drupal appellera pour générer la page (le formulaire dans notre cas).
La fonction pathmenu_admin construit le formulaire ($form=...) et demande à Drupal de générer le code HTML qui va bien (drupal_get_form) en indiquant que le nom du formulaire est pathmenu_form. Très important !
La fonction pathmenu_form_validate est appelée automatiquement par le gestionnaire de formulaire de Drupal pour valider le contenu des champs du formulaire. Drupal sait quelle fonction appeler car on lui a dit que le formulaire se nommait pathmenu_form. Donc il va appeler pathmenu_form_validate (il rajoute simplement _validate à la fin du nom).
L'exemple t'indique même comment signaler des erreurs à ton utilisateur.
La fonction pathmenu_form_submit va s'occuper du traitement des données récupérées sur le formulaire. Dans cette fonction, toutes les valeurs fournies par le formulaire sont valides puisqu'elles auront été validées préalablement par pathmenu_form_validate, ce qui fait que la fonction de traitement est fréquemment plus courte que la fonction de validation.
Pour ajouter à la dernière
Permalien Soumis par yched@drupal.org le 30 Mars, 2007 - 14:24
Pour ajouter à la dernière réponse :
La valeur de retour de la fonction _submit définit la page à afficher après traitement du formulaire.
Cette fonction redirigerait l'utilisateur vers le node 2 après traitement.
oké je comprend mieux la
Permalien Soumis par azz le 30 Mars, 2007 - 17:11
oké je comprend mieux la gestion des formulaire par drupal , et ce que j'ai fais prend enfin un sens il me reste encore pas mal de boulot a faire (notamment du php brute ) et je pense que je suis pas au bout de mes peines , alors jreviendrais surement poster ici mes petits probleme en esperant que vous puissiez m'aider :)
en tout cas ca fait plaisir de trouver un forum francais un petit peu vivant
vous ne savez pas si rien n'est en cours pour la traduction de api.drupal.org en francais ?
encore merci pour tout :)
[edit]
une petite question au passage, pour la gestion de mail je suppose que drupal utilise la fonction php mail() ? si c'est le cas il se debrouille comment sur les servers ou cette fonction est desactivé ?
En effet il utilise la
Permalien Soumis par tostinni le 30 Mars, 2007 - 22:36
En effet il utilise la fonction mail, a priori y a des modules pour fournir des mails externes genre SMTP authentication mais bon ca oblige a avoir un mail exterieur et ca me semble pas facile...
Sinon jette un oeil ds la categorie Mail
Sinon voir si y a pas une autre fonction mail que ton hebergeur autorise et en dernier recours, changer d'hebergeur...
PS: evite de melanger les questions ds les fils de discussion ca limite les interventions d'autres personnes pas forcement interessees par le 1er sujet et limite la possibilite de retrouver ce message par la suite.
Petite remarque sur le code
Permalien Soumis par drupalfrance le 31 Mars, 2007 - 00:04
Petite remarque sur le code de Zigazou : Sur Drupal 5, ce n'est plus tout à fait de cette façon qu'on génère les formulaires.
Il faut en fait définir 2 fonctions, la première qui déclare et renvoie le array $form qui contient tous les champs :
La seconde, qui génère effectivement le formulaire :
L'id du formulaire est le nom de la fonction de déclaration (mon_form). Pour "économiser" une fonction, on peut directement déclarer l'appel à drupal_get_form() dans le menu :
Le fait de dissocier la déclaration de la génération du formulaire permet au même formulaire d'être utilisé (sans forcément être immédiatement généré) par plusieurs fonctions.
Le code de Zigazou correspond à la version 4.7 de Drupal, et je ne crois pas que c'est la version utilisée par azz (sous Drupal 5, drupal_get_form() n'a plus qu'un argument obligatoire au lieu de 2 sous Drupal 4.7).
bonjour; tu intégre ou ce
Permalien Soumis par drupal le 20 Mai, 2009 - 11:13
bonjour;
tu intégre ou ce cette page ?
merci