2010-12-15 51 views
0

我已成功在drupal中創建了一個頁面,該頁面在同一頁面上顯示錶單和結果。表單就像結果的過濾器一樣。結果包括一堆html,其中包括通過Chart API模塊的谷歌圖表(http://drupal.org/project/chart)。結果通過標記表單元素包含在表單中(從Eaton的評論中獲得:Drupal: How to Render Results of Form on Same Page as Form)。在同一頁面上包含結果以及使用drupal表示結果

由於我無法訪問表單API範圍以外的表單結果(例如頁面回調函數),因此我似乎無法真正爲結果提供主題。有沒有辦法將複雜結果放在與表單相同的頁面上,並使結果具有主題性?此外,是否有更好的Drupal方式在同一頁面上顯示錶單結果?

回答

0

drupal中的任何內容都是可以主題化的 - 這是讓drupal變得可怕的一件事。您可以通過使用hook_theme()並在此設置您想要使用的主題模板以及您希望傳遞給主題文件的參數來完成此操作。你會通過調用theme('theme_name', $parameters);

0

我很想在這個解決方案寫像這樣

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

然後甚至建議在後,你可以調用這個主題,無論您的參數可用的主題。我們使用Views和Exposed Filters做了非常相似的聲音。將視圖和表單的結果合併在一起是非常直接的/標準類型的事情要在Drupal中完成。例如:views-exposed-form-form_name.tpl.php和views-view-view_name.tpl.php。該表單也是可以查看hook_form_alter的。

相關問題