2017-11-28 42 views
0

で送信ボタンをform_alter経由してページを作成します。追加のフォームは、私はノードの追加送信ボタンを追加したリダイレクト

$form['check_data'] = array(
    '#type' => 'submit', 
    '#access' => TRUE, 
    '#value' => 'Check', 
    '#validate' => array('node_form_validate'), 
    '#submit' => array('node_form_submit', 'custom_redirect'), 
); 

だから、ボタンがフォームを検証し、ノードを保存しますが、それは後でそれをリダイレクトしません。

function custom_redirect($form, &$form_state) { 
    $form_state['redirect'] = 'node/%nid/check'; 
} 

送信後にリダイレクトする方法はありますか。 _form_alter

+0

ようTriead(ん? https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_goto/7.x – MilanG

+0

こんにちはミラノ、そうです。どちらの場合でも、ノードを保存するだけです。 – Beyer

+0

私はdrupal_goto()もうまくいないので、私はPHPヘッダー関数でリダイレクトをしなければならなかったことがありました。ソリューションの多くは、私は知っている...しかし、絶望的な瞬間に... – MilanG

答えて

-1

は、次の行を追加します。

$form['actions']['check_data']['#submit'][] = 'custom_redirect'; 

および/またはチェックが)form_statenidを持っており、そこからそれを使用し、drupal_gotoを追加

$form_state['nid'], $form_state['redirect'] = 'node/' . $form_state['nid'] . '/check'; 
関連する問題