Господа, помогите:
Пытаюсь темизировать/изменить exposed форму у views - программно изменить значения заданные по умолчанию, перехватить и изменить GET параметры, но что-то ничего не выходит у меня с hook_form_alter..., наверное не там копаюсь. Подскажите, как, какими функциями данные вещи делаются?
Комментарии
Должно выйти , в модуле своём делаете ?
Да, в своем модуле. Делал так:
<?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 селекта удаляются...
И сразу в тему вопрос: Пытаюсь добавить к селекту свой "пустой" пункт, чтобы страница с формой изначально была пустая:
<?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), то ошибка не показывается больше...
Где делаете ?
- mymodule_form_alter
- mymodule_form_views_exposed_form_alter
- mymodule_form_views_exposed_form_alter
Пытаюсь темизировать/изменить созданную вьюсом форму
Передаёте &$form ?