我想重定向陳詞後我的狀態,我試圖用一個鉤子,宣佈但這是我所得到的:Drupal的:致命錯誤:不能重新聲明> node_form_submit()(以前>在
function node_form_submit(&$form, $form_state) {
$form_state['redirect'] = 'contentManager/';
}
。
Fatal error: Cannot redeclare node_form_submit() (previously declared in drupal/modules/node/node.pages.inc:451) in drupal/sites/all/themes/bluemarine/template.php on line 31
我使用的模塊名稱「節點」爲我鉤我想這是錯誤的,但我不明白爲什麼
更新: 好吧,我不是開發一個新的模塊。我在Bluemarine模板中添加了template.php函數。
function bluemarine_form_alter(&$form, $form_state) {
$form_state['redirect'] = 'contentManager/';
}
Bluemarine是我主題的名稱..「contentManager」是我在後端創建的一個頁面,其中包含所有節點的View。
該功能完全被忽略。
UPDATE2 好了,現在,這是我目前的template.php文件(我敢肯定,phptemplate_node_form調用)
function phptemplate_node_form($form) {
$form['#submit'][] = 'myFormSubmit';
}
function myFormSubmit() {
echo "hello";
die();
}
,則不會調用該函數myFormSubmit。
謝謝
所以,我有兩個問題:(1)對於每個我想修改的模塊,我都應該創建一個新模塊。假設我想在3個不同的模塊中更改3個小東西,我必須創建3個新模塊。它是否正確 ? (2)如果我只想在提交表單後將用戶轉發到另一個頁面,我應該創建一個新模塊嗎?我通常會對我的template.php文件(例如更改權重,默認摺疊)做一些小的更改,但我想更改轉發,我應該創建一個新模塊? – aneuryzm 2010-06-24 13:18:45
如果您想要做的是更改表單,您可以使用一個hook_form_alter並根據$ form_id提供更改集。它會根據字段名稱改變你想要的任何形式,例如你可以限制它包裹在if($ form_id =='node_form')中。 – Kevin 2010-06-24 13:24:11
所以換句話說,我想這個答案問題1,我可以改變不同模塊的形式,從1個新的模塊,提供不同的$ form_ids。如果我想更改表單轉發,我沒有其他選項,如果我只能創建一個新模塊? – aneuryzm 2010-06-24 13:32:33