2013-10-18 122 views
0

我正在使用Drupal 6,並且我想創建一個塊,該塊顯示也可以在子頁面上找到的表單。Drupal 6上的form_set_error使用兩種相同的形式

爲了做到這一點,我使用它的validationhandler form_validate()和它的submithandler form_submit()創建了一個drupal表單API窗體form()。然後,我添加了一個表單API表單widget_form(),它基本上與form()相同 - 只是很小的樣式調整,驗證/ submithandler設置爲form_validate()和form_submit(),我也更改了操作顯示form()的子頁面。

工作正常,但如果有驗證錯誤(使用widget_form()時),drupal會標記塊狀,而不是子頁面上的標記。

這似乎按設計工作,但不是我想要的行爲。那麼,有什麼方法可以改變它?我想要在窗體() - 窗體上顯示的錯誤,而不是widget_form())

謝謝!

編輯:我試圖隱藏包含widget_form() - 表單在顯示窗體()窗體的頁面上,沒有錯誤顯示。

回答

0

我認爲使用的方法並不完全正確。你需要創建的只是一個表單和一組驗證和提交功能。對於塊使用hook_block並創建一個塊,並在塊視圖op中,您可以調用drupal_get_form並在塊內顯示錶單,然後使用CSS或自定義模板文件爲該塊創建主題。然後從塊配置頁面,您可以決定不要在加載完整表單的URL(菜單)處顯示該塊。你有這個權利。