2013-06-21 80 views

回答

3

正如你所說,你是Drupal的新手,我建議看看Rules module。您可以添加一個觸發器來保存/更新內容,並添加一個操作,將用戶重定向到特定頁面。

但是,您可以在使用form_alter鉤子的輕量級自定義模塊中做同樣的事情。

首先,找到表單的表單ID。對於節點形式,它是[node-type] _node_form。 然後,您可以添加一個新的提交功能,在表單提交時執行。在這個提交處理程序中,設置重定向路徑。

請參閱this guide on a basic how-to on creating a module。 你的模塊代碼會是這樣的初級講座:

<?php 
function mymodule_mytype_node_form_alter(&$form, &$form_state) { 
    $form['#submit'][] = 'mymodule_node_submit_do_redirect'; 
} 

function mymodule_node_submit_do_redirect($form, &$form_state) { 
    $form_state['redirect'] = 'my_custom_destination'; 
} 

一個非常非常簡單的方法是設置在節點形式的URL目的地。 例如,如果您打開http://example.com/node/add/mytype?destination=my_custom_destination,您將被重定向到該URL而不是節點視圖頁面。

+0

感謝您的快速響應!非常有幫助=) – UpsetPopcorn

+0

不知何故,它不適用於我:(。每個功能已達到,但重定向不會發生。 –

+0

如果您以這種方式添加提交處理程序,它將無法正常工作,您需要確保您添加提交處理程序到正確的位置,並且通常以行爲'$ form ['actions'] ['submit'] ['#submit'] [] =「handler_name」 – Ziftman