Placeholder для открытых фильтров views Drupal 7

Для того, чтобы добавить placeholder для форм ввода, рекоммендуется пользоваться хуком:

function MYTHEME_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_block_form') {
    $form['search_block_form']['#attributes']['placeholder'] = t('Введите запрос');
  }
}

Данный код подойдет и для фильтра открытого views (exposed form)при указании его атрибутов. Но данная конструкция не будет работать, к примеру, если имеется числовой фильтр с оператором — Между (between), так как вместо одной появляется 2 формы ввода данных. В этих случая необходимо использовать следующий hook:


function MYTHEME_form_views_exposed_form_alter(&$form, &$form_state, $form_id) {
  if (isset($form['идентификатор_фильтра']['min'])) {
    $form['идентификатор_фильтра']['min']['#attributes'] = array('placeholder' => array(t('ОТ')));
  }
if (isset($form['идентификатор_фильтра']['max'])) {
    $form['идентификатор_фильтра']['max']['#attributes'] = array('placeholder' => array(t('ДО')));
  }
}

Идентификатор фильтра можно изменить самостоятельно в настройках фильтра опции «ЕЩЕ» => «Идентификатор фильтра».
Stewie / 4 сентября 2017, 21:15
0

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.