我使用的是Drupal 6.19,爲了對錶單做一些修改,我使用form_alter鉤子在網上學習了一些教程。 很好地識別表單包含測試$ form_id(工作正常),但添加新字段是通過操作$ form變量完成的。 當我在我的代碼上嘗試了這一點,它沒有工作,所以我試圖操縱$ form_id變量,而不是它的工作! 我知道我的問題已解決,但我想知道$ form_id和$ form之間有什麼區別? 是不是$ form_id假設只存儲表單標識符?表單內容進入$ form?錯誤的form_later()掛鉤行爲?
0
A
回答
0
好吧,這裏是我的form_alter鉤代碼: 順便說一句,我用DBUG查看變量的內容(這就是我想通了,$形式一點兒也不含有型結構)
function testymodule_form_alter($form_id, &$form) {
include_once("dBug.php");
if ($form_id['#id']=='node-form') {
$form_id['testymodule_checkbox'] = array(
'#type' => 'checkbox',
'#title' => t('Newly testy Checkbox'),
);
new dBug($form_id);
}
這將增加一個新的複選框所提到的形式(雖然它maniuplate $ form_id不是$形式)
我在網上找到了操縱$形式:
function testymodule_form_alter($form_id, &$form) {
include_once("dBug.php");
if ($form_id['#id']=='node-form') {
$form['testymodule_checkbox'] = array(//here is the clue
'#type' => 'checkbox',
'#title' => t('Newly testy Checkbox'),
);
new dBug($form_id);
}
這很奇怪嗎?
2
由於您使用的是Drupal 6,因此您使用的hook_form_alter語法錯誤。你所擁有的是鉤子的Drupal 5語法。這是它應該是什麼?
hook_form_alter(& $形式,& $ form_state,$ form_id)
因爲你使用它你的方式,在$ form_id變量實際上是$形式變量。嘗試交換到正確的一個,這將幫助你。
下面是對文件的鏈接:Drupal API: hook_form_alter
相關問題
- 1. PHP:MySQL錯誤掛鉤?
- 2. SVN Edge預掛鉤錯誤
- 3. 鍵盤掛鉤錯誤
- 4. 奇怪的設計/守望者掛鉤錯誤/行爲
- 5. WHMCS行動掛鉤
- 6. apache 2.4.6,與模塊apr掛鉤錯誤
- 7. Django post_save掛鉤導致syncdb錯誤
- 8. 在theos中掛鉤IVAR錯誤
- 9. 貓鼬:帖子掛鉤消費錯誤
- 10. registration_errors掛鉤不顯示錯誤消息
- 11. SVN鎖定掛鉤錯誤:預計opaquelocktoken
- 12. 掛鉤到錯誤處理週期
- 13. 掛鉤或不掛鉤 - git
- 14. API無掛鉤掛鉤
- 15. 奇怪的掛鉤行爲32/64位
- 16. 鍵盤掛鉤改變鍵的行爲
- 17. Delphi API掛鉤行爲奇怪
- 18. 運行PowerShell腳本作爲git掛鉤
- 19. 掛鉤發送/ WSASend返回運行時檢查錯誤#0
- 20. 掛鉤到amp-html運行時錯誤並顯示它們
- 21. 掛鉤始終在請求後運行 - 也出現錯誤
- 22. VS2015構建不執行節點掛鉤並且沒有錯誤
- 23. 掛鉤是否在git目錄或掛鉤目錄中運行?
- 24. Gitolite掛鉤不執行
- 25. 監視TFS服務掛鉤/ Web掛鉤
- 26. IAT掛鉤 - 無法掛鉤ExitProcess
- 27. SetParent掛鉤,你怎麼解除掛鉤?
- 28. 在掛鉤程序中訪問掛鉤
- 29. IAT掛鉤但掛鉤功能不被稱爲
- 30. TSLint預先掛鉤鉤子
你可能要包括一些代碼片段,來說明你在做什麼。你是對的,$ form_id應該只是一個標識表單的字符串。 $ form變量是一個包含表單結構的數組。 – 2011-02-10 18:47:34