2017-07-24 58 views
0

我準備了一個包含名稱,電子郵件等基本字段的drupal註冊表單。然後我創建了一個顯示功能,從數據庫中選擇數據並顯示。現在,我的老師問我如何在程序中包含預處理器,我該怎麼做?在drupal表單中使用預處理

+0

歡迎來到堆棧溢出,請抽出時間通過[歡迎遊覽](https://stackoverflow.com/tour)瞭解你在這裏的方式(並獲得你的第一個徽章),閱讀如何[創建一個最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve),並檢查[如何提出好問題](https://stackoverflow.com/help/how-to-ask ),所以你增加了獲得反饋和有用答案的機會。 –

回答

0

你的問題不是很清楚,就像你使用的是什麼版本的drupal,你是如何創建webform,後端接口或代碼,我想你會得到你的問題的一些倒票,但無論如何,我會盡力幫忙的。

因此,Drupal使用所謂的「鉤子」系統。你有一些過程,比如網頁表單創作,並且從幾個步驟完成。在某些點(即這些步驟之間),您可以中斷進程,讓您自己執行代碼,然後讓進程繼續正常流程。

這樣做的方法是創建自己的掛鉤函數。你必須使你的模塊(有些甚至可以從主題的template.php文件中工作),然後在模塊文件中創建鉤子函數,給它具體的名稱,以符合一些標準,清除現金,Drupal將小心地調用你的鉤子函數當適當的事件發生時。

鉤你必須創建最有可能的是:

https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7.x

所以,如果你的模塊被稱爲即「saikat」(它的機器名),你必須創建函數調用:

saikat_form_alter($form, $form_state, $form_id) 
    { 
     // Do your magic here 
    } 

這個鉤子將會在你網站上的每一個表單中被調用,所以檢查$ form_id的值來匹配你的表單id來改變你的表單,而不是別人。並且不要忘記清除緩存。