0
我想在我的Drupal站点中显示自定义搜索表单。Drupal自定义HTML搜索表单
搜索表单只有一个文本框和旁边的提交按钮,不需要任何隐藏字段。
我想在我的模板简单的HTML表单,模仿正常的Drupal搜索表单:
<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代码显示在我的模板作为一个块的搜索形式:** ** –
为什么不能只使用admin/structure/block中的Blocks页面来显示搜索表单块?我想到,显然是错误的,有一个原因,在你的情况下使用块是不合适的。 – turibe
使用module_invoke是一种方法,我也尝试在template.php中使用theme_form_alter(),并对表单css进行了一些自定义更改。它运作良好。仍然接受你的答案,因为它促使我看着hook_form_alter()。 –