Отправка Webform в Drupal 7 через Ajax (модуль)
09.10.2017
Модуль Webform Ajax работает в Drupal 7 как–то через Ж в отличие от этого же модуля но для Drupal 6.
В сети существует ряд решений, но в качестве рабочего рекомендую dropbucket.org/node/1477 .Код:
<?php function webform_ajax_submit_form_alter(&$form, &$form_state, $form_id) { // do ajax submit generic for all the webform those have no redirect option enabled if($form['#node']->webform['redirect_url'] == "<none>") { $matches = array(); // check whether the form id have nid at the end like _nid preg_match('/[\d]+$/', $form_id, $matches); $nid_match = $matches[0]; if(strpos($form_id, 'webform_client_form_') == 0 && !empty($nid_match)) { $form['actions']['submit'] = array( '#type' => 'submit', '#ajax' => array( 'callback' => 'webform_client_form_ajax_callback', 'wrapper' => str_replace('_','-',$form['#form_id']), 'effect' => 'fade', ), '#value' => t('Отправить'), ); } } } // Messages function webform_client_form_ajax_callback($form, &$form_state) { if(form_get_errors()) { return $form; } else { return $form['#node']->webform['confirmation']; } }Остается собрать данное решение в модуль, подключить его и наслаждаться результатом. Архив с модулем прилагается.
4.1. Contact. Конструктор форм в Drupal 8. Форма обратной связи.