2013-06-21 37 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