Drupal搜索主题表单 - 更改输入类型?

时间:2010-11-23 10:36:24

标签: php drupal

对于Drupal中使用的主题搜索框,文本字段如下:

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

在我开发移动版网站时,我想更改要搜索的文本字段的输入类型。

有人知道怎么做这个改变吗?

谢谢,Mark。

4 个答案:

答案 0 :(得分:0)

你必须要做HTML5,它实际上有一个输入类型“搜索”,但我不知道移动浏览器当前的HTML5兼容状态是什么。您可以尝试使用主题更改输入类型。

答案 1 :(得分:0)

标准方式无法做到。此处提供了Drupal表单API控件列表:http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6

textfield 用于呈现&lt; input type =“text”

您主题中 page.tpl.php 文件的以下黑客攻击可能会得到您所需要的内容:

在page.tpl.php上的以下代码行之后,

<?php if ($search_box): ?>

添加,

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

它对我有用。尝试。 : - )

答案 2 :(得分:0)

这个问题的另一个很好的解决方案在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 _ ”开头的原因。您必须重命名它才能与主题名称相匹配。

答案 3 :(得分:0)

确保在template.php中添加任何新的预处理函数后清除主题缓存