Расширенная темизация exposed filters

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

Аватар пользователя MXM MXM 8 февраля 2013 в 8:38

Господа, помогите:
Пытаюсь темизировать/изменить exposed форму у views - программно изменить значения заданные по умолчанию, перехватить и изменить GET параметры, но что-то ничего не выходит у меня с hook_form_alter..., наверное не там копаюсь. Подскажите, как, какими функциями данные вещи делаются?

Комментарии

Аватар пользователя MXM MXM 8 февраля 2013 в 15:29

Да, в своем модуле. Делал так:

<?php
$form
['field_tip_obekta_tid']['#default_value'] = 8;
?>

и даже так:

<?php
$form
['field_tip_obekta_tid']['#return_value'] = 8;
?>

но это ровным счетом ни на что не влияет... dpm($form); конечно показывает что вроде как то что нужно установлено, но в форме не работает...

<?php
function sale_exposed_filter_form_views_exposed_form_alter(&$form$form_state) {
  if (
$form['#id'] == 'views-exposed-form-catalog-v-one-page') {
    
$form['field_tip_obekta_tid']['#default_value'] = 8;
  }
}
?>

Пробовал и в селект-поле и в текстовом изменить таким образом начальные данные, но ничего не выходит. Функция работает вроде правильно - #title и #size где нужно меняются, даже пункты из #options селекта удаляются...

Аватар пользователя MXM MXM 8 февраля 2013 в 15:46

И сразу в тему вопрос: Пытаюсь добавить к селекту свой "пустой" пункт, чтобы страница с формой изначально была пустая:

<?php
array_unshift
($form['field_tip_obekta_tid']['#options'], 0);
$form['field_tip_obekta_tid']['#options'][0] = t('- Please select -');
?>

Оно вроде как показывается и работает, но при первоначальном обращении к странице без параметров выдает ошибку "Сделан недопустимый выбор. Пожалуйста, обратитесь к администратору сайта.", а если оставить в форме этот же пункт и применить фильтр (т.е. в адресе появляется ?field_tip_obekta_tid=0), то ошибка не показывается больше...