2010-12-15 9 views
0

Ich habe erfolgreich eine Seite in Drupal erstellt, die ein Formular und Ergebnisse auf der gleichen Seite anzeigt. Das Formular wirkt wie ein Filter der Ergebnisse. Die Ergebnisse enthalten eine Menge HTML, die Google-Diagramme über das Chart-API-Modul (http://drupal.org/project/chart) enthält. Die Ergebnisse werden in das Formular über ein Markup-Formularelement eingefügt (Das kommt aus den Kommentaren von Eaton hier: Drupal: How to Render Results of Form on Same Page as Form).Ergebnisse mit einem Formular auf der gleichen Seite und theming die Ergebnisse mit drupal

Da ich nicht auf die Formularergebnisse außerhalb des Bereichs der Formular-API zugreifen kann (z. B. wie die Seitenrückruffunktion), kann ich nicht scheinen, wirklich die Ergebnisse zu thematisieren. Gibt es eine Möglichkeit, komplexe Ergebnisse auf derselben Seite wie ein Formular zu platzieren und die Ergebnisse themefähig zu machen? Gibt es auch eine bessere Möglichkeit, Formularergebnisse auf derselben Seite anzuzeigen?

Antwort

0

Alles in Drupal ist ansprechbar - was noch eine Sache ist, die Drupal großartig macht. Sie können dies tun, indem Sie hook_theme() verwenden und hier entweder die zu verwendende Designvorlage sowie die Parameter festlegen, die Sie an die Designdatei übergeben möchten. Sie würden das Thema schreiben, wie so

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

Dann auch wie in der Post vorgeschlagen wird Sie dieses Thema nennen können, wo immer Sie Ihre Parameter theme('theme_name', $parameters);

0

telefonisch zur Verfügung stehen ich in Ihrer Lösung für diese interessiert sein würde. Wir haben sehr ähnliche Sachen mit Views und Exposed Filters gemacht. Sowohl die Ergebnisse der Ansicht als auch die Form waren sehr einfache/standardmäßige Dinge, die man in Drupal machen kann. Beispiel: views-exposed-form-form_name.tpl.php und views-view-view_name.tpl.php. Das Formular kann auch geändert werden. Sehen Sie sich hook_form_alter an.

Verwandte Themen