Critère de recherche et résultat sur la même page pour un nouveau type de contenu

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.

J’ai créée un nouveau type de contenu sous Drupal avec CCK (avec différents attributs).

Je voudrais mettre en place dans la même page des critères de recherches (attributs du nouveau type de contenu) et le résultat de la recherche dans un tableau ( avec la possibilité de modifier et de supprimer des lignes du résultats).

Est-ce qu’il y aurait un module qui permet de faire ceci ou bien il faut le développer à la main :

Merci d’avance pour votre aide

Forum : 

J'ai le même objectif.
Je n'ai pas trouvé de module, aussi je me suis lancé dans l'écriture d'un module. Malgré de bonnes connaissances en PHP5 et Mysql , c'est un objectif difficile.
J'ai fait les 3/4 du chemin mais je coince sur l'affichage du résultat.
En utilisant l'API Drupal, apres avoir créé le formulaire d'affichage de sélection des critères, utilisé les fonctions xx_validate() et xx_submit() , j'ai bien le moyen de connaitre les critères, de traiter la BD pour extraire les données correspondantes mais je ne sais pas le passer à la même page pour affichage (ou à une autre page ). Toujours ce problème de fonctionnement général de Drupal que je ne maitrise pas encore .

Si quelqu'un a la solution,grand merci d'avance

Salut
Je suis tombé sur la même problématique : une formulaire de recherche sur une bdd externe suivi d'un tableau de résultat.
J'ai moi aussi bloqué sur l'affichage du formulaire et du tableau de résultats sur la même page.
Je m'en suis sorti en m'inpirant du module search.
Dans les grandes lignes, le callback submit du formulaire récupère les données du formulaire et reconstruit une URL du style http://127.0.0.1/drupal/?q=ton_module/champ1/champ2/champ3, et fait une redirection dessus.
Puis dans le hook du menu, tu récupères ces infos, réaffiche le formulaire prérempli suivi de ton tableau, resultat de la réquête en fonction de tes champs.
En espérant être clair....
Sinon, je peux mettre mon module à disposition pour exemple.

David.

PS: Suis nouveau sur Drupal, suis pas sûr d'avoir utilisé les bonnes dénominations "drupal"

J'ai suivi tes indications et ca a marché.

Dans monmodule_menu(){
// affichage, validation, soumission du formulaire
$items['monmodule'] = array(
'title' => 'Selection avec formulaire',
'page callback' => 'formulaireselection_page',
'access arguments' => array('access content'),
);
//page d'affichage des résultats
$items['monmodule/suite'] = array(
'title' => t('Suite formulaire!'),
'page callback' => 'formulairesuite',
'type' => MENU_CALLBACK,
'access arguments' => array('access_content'),
);

Dans ma fonction formulaireselection_submit() J'ai créé une 'url' pour passer les critères de sélections:
$form_state['redirect'] = 'monmodule/suite'.'/'.$criteres1.'/'.$critere2;
(Inconvénient, je vois les critères dans le lien du navigateur apres le submit)

Je récupére ensuite pour traitement les critères de sélection dans la fonction
formulairesuite($a,$b){
-accès base de données pour selctionner les données répondat aux critères
-création d'un tableau à afficher
}
avec cette fonction, je récupère les données du formulaire avec $a et $b mais ca me parait magique !

En résumé, ca marche mais ce n'est peut être pas la méthode recommandée (je n'utilise pas [page arguments], je ne sais pas comment faire avec)

encore merci

apparement, dans le menu, tu peux spécifier
'page arguments' => array(3,4) #item 3 et 4 de l'url
Pour spécifier explicitement les items de l'url que tu veux récupérer.
Si, comme toi, on ne le spécifie pas, ça marche tout seul.
J'ai appris quelque chose...
Donc on a utilisé la même méthode.