Главная » Drupal » Статьи Drupal » Drupal 7. Текст в блоке формы поиска, исчезающий по клику.
Распечатать статью

Drupal 7. Текст в блоке формы поиска, исчезающий по клику.

Итак, в данном примере я немного изменю стандартный друпаловский блок с формой поиска. А если поточнее, добавлю в поле ввода произвольный текст в блоке формы поиска, исчезающий по клику левой клавиши мыши.

Вот рабочий код, далее вникаем в суть комментариев:

function модуль_или_тема_preprocess_search_block_form(&$vars) {
    // Устанавливаем значение поля формы
    $vars['form']['search_block_form']['#value'] = t('Что будем искать?');

    // Прописываем нужный нам функционал
    $vars['form']['search_block_form']['#attributes'] =
      array(
            'onblur' => "if (this.value == '') {this.value = '" . $vars['form']['search_block_form']['#value'] . "';} ;",
            'onfocus' => "if (this.value == '" . $vars['form']['search_block_form']['#value'] . "') {this.value = '';} ;"
        );
    // Ребилд блока с формой поиска
    unset($vars['form']['search_block_form']['#printed']);
    $vars['search']['search_block_form'] = drupal_render($vars['form']['search_block_form']);
    // Сборка элементов массива
    $vars['search_form'] = implode($vars['search']);
}

Здесь «модуль_или_тема» — имя вашего модуля или темы. Тут уж кому как будет удобнее использовать. Добавляем блок с формой поиска в регион шаблона, сбрасываем кэш и радуемся результату.

Всё описанное в данной статье-заметке актуально для Drupal версии 7.10. Не пытайтесь воспроизвести этот код на шестерке, — существуют различия API, — фишка системы. Кому надо поподробнее, — читайте api.drupal.org почаще.

Проверял на Firefox 9.0.1, Chrome 16.0.912.75, Opera 11.11.2109. Для Internet Explorer 8 тоже актуально.

Источник:  sooource.net

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи