Передача данных Webform на внешний сайт

Главные вкладки

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 7 сентября 2010 в 16:11

Бодаюсь с модулем Webform. Стоит задача сделать форму заявки и после ее заполнения перейти на внешний сайт по ссылке типа https://www.site.ru/form/?firstname=Imya&lastname=Familya&middlename=Otc....
Пересмотрел разные патчи и модули на drupal.org, но ничего не работает. Может быть, глаз замылился и просто не вижу решения этого вопроса.

Кто работал с webform? Наведите на путь истинный. Если подскажете другое решение (нужна еще валидизация полей типа ФИО и телефон, а сохранение данных в базе не обязательно), буду весьма благодарен.

Комментарии

Аватар пользователя t3hk0d3 t3hk0d3 7 сентября 2010 в 16:41

Просто нужно свойство action заменить на нужный сайт, а method на get. Сделать это без правки кода webform не получится.

Аватар пользователя tornadoxxxl tornadoxxxl 7 сентября 2010 в 18:27

Была похожая задача.
К одной форме сделанной через Webform нужно было прикрутить хитрый функционал.
Не хотелось сам модуль трогать - через свой модулек и [ru-api=hook_form_alter]hook_form_alter[/ru-api] добавил необходимое + свой #validate и #submit прибавил.

Аватар пользователя tornadoxxxl tornadoxxxl 8 сентября 2010 в 19:12

"<a href="mailto:vadbars@drupal.org">vadbars@drupal.org</a>" wrote:
tornadoxxxl Модулем не поделитесь, чтобы свой не писать заново?

С радостью бы, да писал давненько и с потерей информации на переносном винте (ещё раз "спасибо" уборщице которая его свалила) потерял и этот проект.
Там собственно:

function exaple_form_alter(&$form, $form_state, $form_id) {
// или можно через hook_form_FORM_ID_alter() изменение конкретной формы
  if ($form_id == 'webform-client-form-1') {
    // через
    // $msg = print_r($form, TRUE);
    // drupal_set_message('<pre>'.$msg.'</pre>');
    // смотрим что-там в форме
    $form['my'] = array(
      '#type' => 'textfield',
      '#title' => t('Title'),
      '#default_value' => $value ? $value : '',
      // добавляем при необходимости поля
    );
    $form['#validate'][] = 'exaple_form_validate';
    $form['#submit'][] = 'exaple_form_submit';
    // добавляем необходимую валидацию и обработчик
  }
}

function exaple_form_validate(&$form, &$form_state) {
  // валидация
}

function exaple_form_submit(&$form, &$form_state) {
  // сохраняем куда нужно или делает что нужно
}

З.Ы. Я когда сюда два года назад пришел и не знал даже html тега Вы тут и не такое писали, думаю отсутствие готового модуля не будет огорчением.