[РЕШЕНО] Текст в поиске по умолчанию. (template.php и search_box)
18 апреля 2012 в 12:50
Drupal 7. Хочу задать default_value, чтобы по умолчанию выводился текст "Поиск по сайту..."
При клике в поле поиска, текст должен пропадать.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Вот решение:
1. Копируем файл modules\search\search-block-form.tpl.php в папку с темой
2. Вставляем в файл код:
<div class="container-inline">
<h2 class="element-invisible">Форма поиска</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label class="element-invisible" for="edit-search-block-form--2">Поиск </label>
<input onblur="if (this.value == '') {this.value = 'Поиск по сайту...';} ;" onfocus="if (this.value == 'Поиск по сайту...') {this.value = '';} ;" type="text" id="edit-search-block-form--2" name="search_block_form" value="Поиск по сайту..." size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Поиск" class="form-submit" /></div>
<input type="hidden" name="form_build_id" value="form-hn9YxGaCVqRTt1Gpn0lm4IrtHRM0NoilQZreP2827E4" />
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token('search_block_form'); ?>" />
<input type="hidden" name="form_id" value="search_block_form" />
</div>
</form>
3. Создаем файл template.php в папке с темой и пишем код:
<?php
function phptemplate_search_block_form($form) {
return _phptemplate_callback('search-block-form', array('form' => $form));
} ?>
просто в template.php
// задаём default value равное "New search" .
$form['search_block_form']['#default_value'] = t('New search');
// обработчик default value при получении\потери фокуса
$form['search_block_form']['#attributes']['onblur'] = "if (this.value == '') {this.value = '" . t('New search') . "';}";
$form['search_block_form']['#attributes']['onfocus'] = "if (this.value == '" . t('New search') . "') {this.value = '';}";
}
drupby
excellent!!!