Exposed form и submit #type = image_button лишние $_GET параметры

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

Аватар пользователя mnigma mnigma 10 сентября 2019 в 15:24

Добрый день! Самому решить не удалось, прошу помощи!
Использую search api для поиска. Как обычно создал виевс, форму вынес в блок. В форме единственное поле text и кнопка. В общем все как обычно. И это работает.

Суть проблемы.
Понадобилось заменить кнопку на изображение.
Собственно hook_form_alter, $form['submit']['#type'] = 'image_button'; $form['submit']['#src'] = 'sites/all/themes/THEME/svg/but.svg';

После нажатия кнопки, перенаправляет на страницу search, т.е. самой вьюхи, но с дополнительными параметрами x и у.
/search?text=поплавок&x=23&y=24
Причем значения доп параметров постоянно меняются.

Скопировал views_exposed_form_submit в свой модуль (переименовал и в _form_alter перенаправил самбит), дебаггером смотрел, но так и не понял, как пофиксить.

Подскажите, как этих друзей x и у убрать?

Комментарии

Аватар пользователя Mnilionic Mnilionic 10 сентября 2019 в 15:31

x и y это по древнейшему стандарту обязательные параметры для кнопок типа image - передают координаты точки в которую кликнули мышкой по изображению. Убрать можно только если клик обрабатывать скриптом.
Но на мой взгляд проще обычную сабмит кнопку застилизовать под картинку Smile
И да, ещё остаётся вариант использовать #type => button, внутрь которого можете положить картинку.

Аватар пользователя mnigma mnigma 10 сентября 2019 в 15:45

Спасибо за ответ!
Да, это можно. На всякий можно и блок с собственной формой создать. Но всегда зацикливаюсь "никогда такого не было". На других сайтах уже кучу лет работает, а тут вылезло. Хотел разобраться, думал как "два пальца облизать", а наткнулся на такое.
Еще в добавок добавил для валидатора разметки
$form['submit']['title'] = 'Поиск';
$form['submit']['#name'] = 'search_sub';
unset($form['submit']['#value']);
Так теперь еще и название кнопки добавилось, а x и у c точкой.
search?text=поплавок&search_sub.x=36&search_sub.y=10

В самбите свойей формы легко это почистить, а как в самбите виевса, не понял.

Аватар пользователя Mnilionic Mnilionic 10 сентября 2019 в 17:28

Если убрать у кнопки атрибут name то данные кнопки (в том числе x и y) не будут передаваться... если память не изменяет и манускрипты не врали.