Я хотел бы показать пользовательскую форму поиска на моем сайте Drupal.Drupal Custom HTML Search Form
Форма поиска содержит только текстовое поле и кнопку отправки рядом с ним, без каких-либо скрытых полей.
Я попытался с помощью простой формы HTML в шаблоне, который имитирует нормальный поиск друпал форма:
<form accept-charset="UTF-8" id="search-form" method="post" action="/drupal/?q=search/page" class="search-form">
<div id="edit-basic" class="container-inline form-wrapper">
<div class="form-item form-type-textfield form-item-keys">
<input type="text" autocomplete="off" class="form-text" maxlength="255" size="40" name="keys" id="edit-keys" value="search" onBlur="if(this.value == '') { this.value = 'search'; }" onFocus="if(this.value == 'search') { this.value = ''; }" style="right:15px;">
</div>
</div>
<input type="hidden" value="form-Og2HsMomOhfRkoS262LFbqpN2NyIGeHHYfTF43Kynjs" name="form_build_id">
<input type="hidden" value="mfLsAR-y7CVQLcWY7hgZRGPbu3F3R5uQKKpZe3ppAi4" name="form_token">
<input type="hidden" value="search_form" name="form_id">
</form>
Но это имеет некоторые проблемы, как: «форма устарела. Скопируйте любую несохраненную работу в форму ниже, а затем перезагрузите эту страницу. "
Есть ли способ, которым я могу использовать пользовательскую форму html в качестве формы поиска Drupal? В основном я хочу изменить форму поиска по умолчанию Drupal, чтобы удовлетворить мои потребности.
Ну, я, наконец, использовал код module_invoke, чтобы показать форму поиска в шаблоне в качестве блока: ** ** –
Почему вы не могли просто использовать страницу Blocks в admin/structure/block для отображения блока формы поиска? Я представил себе, очевидно, неправильно, что была причина, по которой использование блока было неуместным в вашем случае. – turibe
Использование module_invoke было одним из способов, я также попытался с theme_form_alter() в template.php и внес некоторые пользовательские изменения в форму css. Он работал хорошо. Все еще принимаю ваш ответ, так как он мотивировал меня взглянуть на hook_form_alter(). –