【发布时间】:2010-05-22 10:17:39
【问题描述】:
我正在使用自定义版本的 search-theme-form.tpl 当我使用搜索框时,我确实被转移到了搜索页面。但搜索实际上并没有发生。搜索结果页面上的搜索框确实有效。这是我的 search-them-form.tpl.php 文件 (demo :
<input type="text" name="search_theme_form_keys" id="edit-search-theme-form-keys" value="Search" title="Enter the terms you wish to search for" class="logininput" height="24px" onblur="restoreSearch(this)" onfocus="clearInput(this)" />
<input type="submit" name="op" id="edit-submit" value="" class="form-submit" style="display: none;" />
<input type="hidden" name="form_token" id="edit-search-theme-form-form-token" value="<?php print drupal_get_token('search_theme_form'); ?>" />
<input type="hidden" name="form_id" id="edit-search-theme-form" value="search_theme_form" />
还涉及到一个 javascript 文件。我想它的用途从代码中很清楚:
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
function clearInput(e) {
e.value=""; // clear default text when clicked
e.className="longininput_onfocus"; //change class
}
function restoreSearch(e) {
if (trim(e.value) == '') {
{
e.value="Search"; // reset default text onBlur
e.className="logininput"; //reset class
}
}
}
可能是什么问题,我该如何解决?
【问题讨论】:
-
你的意思是
search-theme-form.tpl.php(而不是...-from.tpl)?您是否使用默认模板获得搜索结果?您是否设置了一个 cron 作业来索引您的网站?您是否为用户设置了搜索权限?见drupal.org/handbook/modules/search。 -
对不起,它是 search-theme-form.tpl.php。我的错。是的,用户有权搜索并且该站点已正确编入索引。我尝试了花环主题,似乎效果很好。
-
看看你的例子,至少表单操作('/whackk/')是有问题的,因为原始的 Drupal 搜索表单指向'search/[searchTerm]'。主要问题是您通过 HTML 标记从头开始构建自己的表单,完全绕过 Drupal Forms API。不建议这样做。您希望对标准 Drupal 搜索进行哪些更改? (有很多方法可以根据您的喜好扭曲和调整任何 Drupal 表单,但要获得正确的答案,我需要有关您的目标的更多信息)
-
好吧。行动部分是这里的问题。无论如何,我并没有完全绕过drupal api(至少,我不这么认为)。我过度使用默认模板 - 仅此而已。我正在为输入文本框使用不同的类,并使用 onFocus 和 onBlur 事件来更改输入文本框的类。
标签: search drupal-6 drupal-theming drupal-templates