2012-12-06 205 views
0

我有一個窗體,計算兩個值,完美的形式工作,但我有一些問題,如何計算兩個值,並返回答案作爲呈現的HTML,所以我可以風格這對用戶來說是非常漂亮的。Drupal 7 - 窗體API自定義模塊

所有幫助將不勝感激。謝謝。

+0

你有沒有嘗試過的例子? – KerrM

+0

我正要嘗試hook_submit,但還沒有,但我不知道這會給我想要的結果。 必須有某種形式的鉤子做我以後的事情。 –

回答

0

在一個Drupal形式有三種類型的回調的是通常必要的創建的一種形式:

  • 表單生成器是使用陣列形式API理解
  • 的構建形式功能表單驗證處理程序是驗證來自用戶
  • 表單提交,提交處理程序的值是作用於從用戶提交的值的函數的函數

這些函數中,輸出對用戶提交的值所做計算結果的函數是最後一個函數。通常情況下,表單提交處理程序將數據保存在數據庫中,並通過drupal_set_message()向用戶顯示消息,但它也可以簡單地顯示對輸入數據執行的操作結果。

由於Drupal 7,表單提交處理程序的輸出以及菜單回調產生的輸出可以是一個渲染數組,而不是一個字符串。渲染陣列具有通過hook_page_build()hook_page_alter()從第三方模塊輕鬆更改的功能。

node_view()是返回呈現數組而不是字符串的菜單回調的示例。

+0

班。非常感謝你。很有幫助。現在,隨着客戶端在我的背上,現在要與drupal_set_message一起去看看,但是會查看hook_page_build解決方案,因爲這可能是我長期尋找的。 –

+0

如果這有助於你達到你的答案,那麼考慮將他的答案設置爲接受。 – KerrM

0

如果它只是一條消息,那麼你應該看看drupal_set_message。它可以讓你設置這樣的消息:

drupal_set_message(t('Hello, world.'),'myClass'); 

哪像這樣的輸出HTML:

<div class="messages myClass">Hello, world</div> 

這將是一個非常簡單的方法來設置消息,爲用戶看一次形式提交。如果你需要更高級的東西,看看我的回答here和這個Drupal回答here