提交分类学Drupal 7时重定向

时间:2012-06-18 07:49:49

标签: drupal drupal-7 drupal-taxonomy

在Drupal 7上,当我提交一个术语时,我想重定向到后端的主列表;默认情况下,如果您提交的术语保留在相同的添加页面上。

我有这段代码..

function MODULE_form_taxonomy_form_term_alter(&$form, &$form_state, $form_id) {
        if($form['#term']['vocabulary_machine_name'] == 'foo') {
            $form['actions']['submit']['#submit'][]='form_foo_submit';
        }
}

function form_foo_submit($form, &$form_state) {
  $form_state['redirect'] = 'admin/content/foo_view_list';
}

好吧,我把这些放在Drupal 7上并且工作正常但是术语没有正确保存!

任何人都可以帮助我吗? THX!

3 个答案:

答案 0 :(得分:0)

尝试drupal_goto而不是重定向方法:

function form_foo_submit($form, &$form_state) {
  ...
  ...
  drupal_goto('admin/content/foo_view_list');'
}

这最终会起作用吗?

答案 1 :(得分:0)

您需要将代码修改为:

function MODULE_form_taxonomy_form_term_alter(&$form, &$form_state, $form_id)
{
    if($form['#term']['vocabulary_machine_name'] == 'foo')
    {
        $form['#redirect'] = 'YOUR_NEW_PATH';
    }
}

希望这有帮助......穆罕默德。

答案 2 :(得分:0)

function MODULE_form_taxonomy_form_term_alter(&$form, &$form_state, $form_id) {
        if($form['#term']['vocabulary_machine_name'] == 'foo') {
            $form['#submit'][]='form_foo_submit';
        }
}
function form_foo_submit($form, &$form_state) {
  $form_state['redirect'] = 'admin/content/foo_view_list';
}

此示例适用于我