1

在 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 上并且工作正常,但是这个词不能正确保存!

有谁能够帮我?谢谢!

4

3 回答 3

0

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

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

这最终会奏效吗?

于 2012-06-18T16:36:07.623 回答
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';
    }
}

希望这会有所帮助……穆罕默德。

于 2012-06-19T07:32:45.723 回答
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';
}

这个例子对我有用

于 2015-01-23T16:38:45.383 回答