Le problème en essayant de données de sortie dans la méthode hook_form() est que la méthode est invoquée deux fois qui efface les valeurs post la deuxième fois à travers. Lancez un dpm ($ form_state) dans la fonction hook_form() et vous verrez deux ensembles de données de publication. Un avec des valeurs et un sans. Donc, après avoir disséqué le module de recherche intégré, qui fonctionne à peu près exactement comme je veux que mon formulaire fonctionne, j'ai compris comment cela se faisait. Eh bien, au moins une façon de le faire. Ce module recherche prend les valeurs de $ form_state dans hook_form_submit() et les colle dans l'URL, puis il définit le $ form_state ['redirect'] à cette nouvelle URL, stockant efficacement ces variables dans l'URL et changer le POST à un GET.
Maintenant, dans le rappel, ils extraient ces valeurs de l'URL, font la recherche sur eux, ALORS ils appellent drupal_get_form(), ajoutent les résultats à la fin et le retournent.
Il existe une autre solution HERE où ils utilisent SESSION pour stocker les valeurs jusqu'au deuxième passage. Bizarre, mais ça marche.
Merci pour votre inscription. Mais le problème est que $ form_state n'est pas disponible jusqu'à ce que hook_form_submit() soit correct? D'ici là, il est trop tard pour mettre à jour le formulaire. J'ai besoin d'obtenir les valeurs de post dans ma fonction de callback (qui dans mon cas est sqlquery_page().) Je suppose que je peux juste saisir $ _POST et y récupérer mes valeurs – Dana
La variable $ form_state est passée quand drupal_get_form est appelée. //api.drupal.org/api/function/example_form/6 Comme l'a dit alxp, vous pouvez vérifier les valeurs soumises ici et, si elles existent, afficher le contenu extrait de votre base de données source externe. – jhedstrom