Недавно столкнулся с задачей задания в теме Drupal собственного внешнего вида для формы поиска по сайту. Немного поискав по друпаловскому сайту, нашел простое и доступное решение.
1. Создаем в каталоге темы файл template.php и открываем его для редактирования (если файл уже существует, то создавать его заново не надо).
Дописываем в этот файл код:
<?php
function phptemplate_search_theme_form($form) {
/**
* This snippet catches the default searchbox and looks for
* search-theme-form.tpl.php file in the same folder
* which has the new layout.
*/
return _phptemplate_callback('search_theme_form', array('form' => $form), array('search-theme-form'));
}
?>
2. Создаем в каталоге темы оформления файл search-theme-form.tpl.php
В этом файле прописываем код, который мы хотим установить в качестве поисковой формы. Для drupal 5.x в качестве примера можно использовать следующий код:
<label for="search_theme_form_keys">Поиск по сайту</label>
<input
type="text" maxlength="128" name="search_theme_form_keys"
id="edit-search_theme_form_keys" size="25" value="" title="Введите критерии поиска" class="form-text" />
<input type="submit" name="op" value="Поиск" />
<input type="hidden" name="form_id" id="edit-search-theme-form" value="search_theme_form" />
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token('search_theme_form'); ?>" />
Обратите внимание на скрытое поле "form_token", без него форма поиска работать не будет. Вы можете задать произвольное оформление (например - кнопка поиска в виде изображения) или нужный вам текст для блока поиска по сайту - Drupal вас ни в чем не ограничивает.
По материалам статьи
Customising the search forms
Комментарии
оформление блока поиска
13.08.2008 в 14:23 — Гостьа как быть с кодировкой?
у меня всё выглядит как ????????????? и кнопка и комментарии
проблема с кодировкой
13.08.2008 в 21:23 — mityokПри редактировании и сохранении файла нужно использовать ту же кодировку, которую вы используете при просмотре сайта.