У меня есть представление с несколькими открытыми фильтрами, в которые я хочу добавить открытый фильтр для автора, чтобы пользователь мог ограничить список узлов создателем узла (в дополнение к ряду других фильтров).
Что я уже сделал:
Я добавил открытый фильтр автора и установил для оператора значение «содержит любое слово» (такимена пользователей могут быть просто + разделенным списком)
- Это текстовое поле по умолчанию, но я бы хотел, чтобы оно отображалось в виде списка флажков (аналогично таксономии)
Используя hook_form_alter, я добавил следующий код, чтобы изменить его на список флажков (пока что заштрихован, но скоро исправлю)
$ form ['name'] ['# type']= "выбрать";$ form ['name'] ['# size'] = "3";$ form ['name'] ['# multiple'] = TRUE;
$ form ['name'] ['# options'] = array ('admin' => 'admin', 'tyler'=> 'tyler', 'test' => 'test');$ form ['name'] ['# theme'] = "select_as_checkboxes";
Когда эта форма отправляется, она изменяет URL-адрес на & name [] = tyler & name [] = admin,я хотел бы объединить их с foreach, чтобы url выглядел как & name = tyler + admin, но я действительно не уверен, как именно этого добиться в API.
Я попытался добавитьфункция к $ form ['# submit'] и изменение значения поля там, но это все равно не изменило вывод.
Любой совет?
БыстрыйEdit
В настоящее время я переключил это, чтобы использовать радио вместо флажков, что решает проблему, которая у меня была.
Чтобы разобрать проблему, у меня было немногокроме того, имена чекбоксов были установлены как name [] = вместо name = из-за множественных входов.Фильтр имен в представлениях не знает, как обрабатывать несколько значений для поля имени.
Сейчас я посмотрю, будет ли это соответствовать клиенту, но если у кого-нибудь есть ответ на первоначальный вопрос о добавлении флажков длявсем авторам выставленного фильтра, который был бы потрясающим!