Форма поиска в Drupal - Изменить тип ввода? - PullRequest
1 голос
/ 23 ноября 2010

Для поля поиска темы, используемого в Drupal, текстовое поле выглядит следующим образом:

<input type="text" class="form-text" id="edit-search-theme-form-1">

Поскольку я разрабатываю сайт для мобильных устройств, я хочу изменить тип ввода текстового поля для поиска.

Кто-нибудь знает, как сделать это изменение?

Спасибо, Марк.

Ответы [ 4 ]

0 голосов
/ 17 сентября 2012

Убедитесь, что вы очищаете кэш темы после добавления любых новых функций предварительной обработки в template.php

0 голосов
/ 15 декабря 2010

Это невозможно сделать стандартными способами. Список элементов управления API формы Drupal доступен здесь: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6

текстовое поле используется для визуализации

Возможно, следующий хак в файле page.tpl.php в вашей теме получит то, что вам нужно:

Сразу после следующей строки кода на вашем page.tpl.php,

<?php if ($search_box): ?>

Добавить

<?php $search_box = preg_replace ("/<input type=\"text\"/", "<input type=\"search\"", $search_box); ?>

Это сработало для меня. Пытаться. : -)

0 голосов
/ 12 марта 2011

Существует еще одно хорошее решение этой проблемы, которое хорошо работает в D6 и D7:

/**
 * Changes the search form to use the "search" input element of HTML5.
 */
function tao_preprocess_search_block_form(&$vars) {
  $vars['search_form'] = str_replace('type="text"', 'type="search"', $vars['search_form']);
}

Этот фрагмент помещается в файл template.php вашей темы.В моем случае это tao , поэтому функция начинается с " tao_ ".Вы должны переименовать его, чтобы оно соответствовало названию вашей темы.

0 голосов
/ 30 ноября 2010

Вы должны будете выполнить HTML5, который на самом деле имеет тип ввода «поиск», но я не знаю, каково текущее состояние совместимости HTML5 мобильных браузеров. Вы можете попробовать изменить тип ввода с помощью темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...