Вед-дев, Сео, Манимейкинг

Views exposed filter меняем текст и добавляем placeholder

По умолчанию в Views exposed filters в селект листах по дефолту стоит значение - Any - (- Любой -), в случаях когда мы не отображаем лейблы, необходимо заменить этот текст на более понятный, например: Все модели CPU.

Меняем текст при помощи hook_form_alter()

function THEMENAME_form_alter(&$form, $form_state, $form_id) {
  //drupal_set_message($form_state['view']->name);
  if ($form_state['view']->name == 'my_view_name') {
    $form['your_field_name']['#options']['All'] = t('New text');
    //dpm($form);
  }
}

А теперь более подробно.

drupal_set_message($form_state['view']->name); - узнаем название нашего представления (конечно можно зайти в список всех представлений и там посмотреть)

if ($form_state['view']->name == 'my_view_name') - тут мы пишем условие, если наше представление называется "my_view_name", то применить изменения с полями наших фильтров.

dpm($form); - смотрим содержимое нашей формы при помощи Devel, для того чтобы узнать названия полей.

Добавляем плейсхолдеры при помощи hook_form_alter()

function pornsk_form_alter(&$form, $form_state, $form_id) {
  if ($form_state['view']->name == 'my_view_name') {
    if (isset($form['title'])) {
      $form['title']['#attributes'] = array('placeholder' => array(t('Search by title')));
    }
  }
}

Таким образом добавляются плейсхолдеры в поля формы. Как темизировать плейсхолдеры смотрим тут.

Также, не забудьте сделать проверку по $form_id иначе будет вылазить ошибка при редактировании нод.



Комментарии (0)

Подписаться

Подписка на RSS-лента последние записи из Блога

Комменты

  • Olzhas 10 месяцев 2 недели назад
    Спасибо. С Новым Годом! 
  • Den 11 месяцев 1 неделя назад
    В первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. 
  • Гость 11 месяцев 2 недели назад
    Если все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того 
  • Валерий 1 год 1 неделя назад
    да можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер 
  • admin 1 год 1 неделя назад
    Валерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт 
  • Валерий 1 год 1 неделя назад
    захожу на mysql через ssh по команде  
  • admin 1 год 1 неделя назад
    Добрый вечер, какой у вас клиент? 
  • Валерий 1 год 1 неделя назад
    Здравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? 
  • Eduard 1 год 3 недели назад
    Видать, домен хороший был. Заявление пробывали писать на мошенника? 
  • Stas 1 год 2 месяца назад
    Ошибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям!