Мультистеп форма на ajax. Каждый шаг - это отельная функция-форма, вызываемая в нужный момент через основной submit callback или в самой функции-форме. Все параметры этих шагов-функций передаются через $form_stage
. Короче вот так. И на одном из шагов, надо вызвать форму логина/регистрации, а по её завершению продолжить.
В одной из функций-форм есть кнопка:
$form['enter'] = array(
'#type' => 'submit',
'#value' => 'Войти',
'#ajax' => array(
"callback" => "my_login_form",
"wrapper" => "order",
"effect" => "slide",
'method' => 'replace'
),
);
Не воспользовался обычным колбеком, потому-что тогда вырубается основной колбек сабмита основной функции. Не суть, короче ошибка 500 будет.
Функция ajax callback только для этой кнопки:
function my_login_form($form, &$form_state) {
return drupal_get_form('user_login');
}
Понятно, что это нормально работать не будет. Так как параметры при таком вызове не передаются и основная функция прервётся.
Задача: По человечески вызвать окно логина, пройти его и продолжить вызывать функции-формы по инструкции.
Я пока вижу только одно решение - своими руками написать функции реги и входа.
Ответы
Я пока вижу только одно решение - своими руками написать функции реги и входа.
В общем-то так и сделал.