Je voudrais créer un formulaire avec plusieurs onglets

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.

Bonjour,

Je voudrais créer un nouveau type.
J'ai essayé "flexinode" mais le formulaire est important et j'aimerais le découper en onglets. Un peu comme la gestion du profil des utilisateurs. Il crée des onglets par catégories.

Connaissez-vous un moyen, un module qui fasse cela?

Un exemple de module qui gère un formulaire de ce type
avec sa propre table me va aussi bien si il est facilement adaptable.

Merci à tous.

Desole de pas avoir vu ta question, ca arrive ;)
Le pb des onglets comme tu souhaites, c'est que ca fait des appels aux fonctions internes de Drupal.
En gros tu peux pas "simplement" creer un node qui va generer des onglets.
Par contre vu que tu dis que tu veux creer un nouveau "type", je suppose que tu es pret a t'attaquer a la programmation d'un module ? Ou c'etait juste ce que tu decrivais en voulant un nouveau type de document ?

Sinon j'ai peut etre une idee :
Je suis tombe sur ca recemment sur le forum de drupal.org [url=http://drupal.org/node/21763]flexinode tab presentation[/url] et en particulier [url=http://drupal.org/node/21763#comment-37755]ce commentaire[/url], je pense que ca doit etre ce que tu recherches.

PS : si tu trouves une bonne solution, hesite pas a poster ton code, ca m'interesse aussi ;)

Merci, je vois qu'il ne faut jamais désespérer.
Pour des problèmes de chargement, de validation, etc...
j'abandonne l'idée des onglets mais plutôt vers un menu sur l'objet
qui propose différentes parties à compléter.
Donc, comme j'ai vu des liens comme "node/add" ou "node/1/edit"
j'espére en faire de même avec mon objet : "node/1/section1"
"node/1/section2", etc...

J'ai commencé un module, c'est simple et compliqué à la fois.
Comme maintenant ou je ne trouve pas comment récupérer le paramètre
de section "section1" afin d'afficher le bon formulaire.

Peut m'expliquer?

Merci

En fait c'est complique comme tu dis, mais pas tant que ca (enfin perso j'ai un peu de mal, mais bon en bidouillant ca arrive vite).
Donc en gros je te conseille de regarder comment les autres modules recuperent les fonctions internes de Drupal.
En l'occurance, les [code]node/1/section1[/code] sont geres par la variable [code]node/1/section1[/code]. Donc dans ton cas [code]arg(0)[/code] correspond a "node", [code]arg(1)[/code] a "1" et [code]arg(2)[/code] a "section1".
Cependant je pense qu'il serait un peu plus simple de mettre [code]node/1/section/1[/code], mais ca change pas grand chose.

PS : le coup des tabs en javascript ca te sert pas ?
PPS : si un admin de drupalFrancais lis ca : j'aime bcp la maniere dont est presente la balise "code" sous drupal.org, c'est bcp plus visible qu'un simple changement de font.

Merci pour tes réponses mais j'aimerais que tu m'expliques plus précisément l'usage de l'argument dans drupal.

  • 1. Est-il accessible dans toutes les fonction de mon module
  • 2. J'ai essayé de mettre le paramétre de section dans un block de menu, mais il ne m'affiche plus l'objet : plus de deux paramètre le pertube.
  • 3. J'ai essayé de le mettre dans monmodule_form mais cela ne marche pas : aurais-tu un exemple qui fonctionne. Le seul que je connais c'est la gestion dynamique de 'profile' mais justement c'est pas en dur c'est dynamique donc je ne peux m'en servir ( http://localhost/drupal/?q=user/4/edit/Personal Information ) mais cela fonctionne. Alors je ne désespère pas.

Merci encore

En fait je suis pas vraiment encore tres au point sur le fonctionnement du core de Drupal, mais en recopiant du code comme je te disais, j'apprends un peu plus.
Donc concernant ton pb d'argument, je dirais que cela vient du fait que tu as du mal declarer ton MENU_CALLBACK ds le hook_menu. Cela permet de controler l'appel de certaines fonction suivant l'url que tu passes, et, optionnelement, de definir des tabs avec MENU_LOCAL_TASK (NB : par contre je sais pas comment on definit plusieurs niveaux...). Enfin une fois que tu as ton callback, l'argument est alors definit.
Je te conseille de lire ceci :
http://drupaldocs.org/api/head/function/arg
http://drupaldocs.org/api/head/file/includes/menu.inc

Sinon concernant ton histoire de rajouter un tab sur le node, regarde, il y a plusieurs modules qui font ca (node avec la fonction editer, statistics avec le tab track et je me souviens que les trackbacks ds la version 4.5.0 introduisait un tab).
Apres a grand coups de copier coller (en essayant de comprendre un peu ;) ) tu feras des miracles.