2010-12-15 160 views
0

J'ai réussi à créer une page en drupal qui affiche un formulaire et les résultats sur la même page. Le formulaire agit comme un filtre des résultats. Les résultats comprennent un tas de html qui inclut des graphiques Google via le module API Chart(). Les résultats sont inclus dans le formulaire via un élément de formulaire de marquage (Got that from eaton's comments here: Drupal: How to Render Results of Form on Same Page as Form).Y compris les résultats avec un formulaire sur la même page et thématisant les résultats en utilisant drupal

Étant donné que je ne peux pas accéder aux résultats de formulaire en dehors de la portée de l'API de formulaire (par exemple, comme la fonction de rappel de page), je n'arrive pas vraiment à thématiser les résultats. Existe-t-il un moyen de placer des résultats complexes sur la même page en tant que formulaire et de rendre les résultats exploitables? Aussi, y a-t-il une meilleure façon drupal d'afficher les résultats de formulaire sur la même page?

Répondre

0

Tout ce qui est en drupal est théma- tique - ce qui est encore une chose qui rend drupal génial. Vous pouvez le faire en utilisant hook_theme() et en définissant ici le modèle de thème que vous souhaitez utiliser ainsi que les paramètres que vous souhaitez transmettre au fichier de thème. Vous écririez le thème comme si

function MYMODULE_theme{ 
    return array(
    'theme_name'=>array(
     'arguments'=>array('parameters'=>NULL) 
     'path'=>'path_to_theme_file', 
     'theme'=>'template_name' 
    ), 
); 
} 

Alors même est suggéré dans le message, vous pouvez appeler ce thème où vos paramètres sont disponibles en appelant theme('theme_name', $parameters);

0

Je serais intéressé par votre solution pour cela. Nous avons fait des choses sonnantes très similaires en utilisant Views et Exposed Filters. Theming à la fois les résultats de la vue et la forme étaient très simples/types de choses à faire en Drupal. Exemple: views-exposed-form-form_name.tpl.php et views-view-view_name.tpl.php. Le formulaire est également modifiable voir le hook_form_alter.