Есть некая сгенерированная друпалом форма. Сейчас ее обработка происходит через GET запрос.
Есть ли возможность заставить форму выполняться через POST без хаканья самого модуля генерирующего форму? Через form_alter, может быть... При вызове через GET происходит превышение максимальной длинны URL'а. Это в продолжении темы http://drupal.ru/node/31213
Комментарии
<?php
my_module_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'MY_FORM_ID') {
$form['#method'] = 'post';
}
}
?>
Модифицировать запрос для нужной формы получилось достаточно легко. Однако новая странная проблема – обработчик формы не видит данных приходящих по POST запросу. Ни для стандартного submit, ни для AJAX.
Подскажите, в чем может быть проблема, какой hook мучать и не есть ли это какое-нибудь принципиальное ограничение?
На всякий случай повторюсь, это форма есть exposed filters для view.
P.S. В процессе мучений поэкспериментировал с «Drupal for Firebug». Полезный инструмент оказался, кому интересно, вот тут подробнее http://www.drupal.ru/node/18800
views использует свой formapi, отличающийся от друпальского, в нем вместо drupal_get_form() вызывается drupal_build_form()
Может быть там какая-то загвоздка, также смотрите вот эти функции:
http://drupalcontrib.org/api/function/views_exposed_form/6
http://drupalcontrib.org/api/function/views_exposed_form_validate/6
http://drupalcontrib.org/api/function/views_exposed_form_submit/6
Пытаюсь сейчас решить такую же проблему. v1adimir, справились с решением?