自定义 drupal 搜索结果页面

Posted

技术标签:

【中文标题】自定义 drupal 搜索结果页面【英文标题】:Customize drupal search result page 【发布时间】:2013-07-29 19:02:10 【问题描述】:

我创建了一个名为“test”的自定义主题,并尝试显示搜索结果。

我将函数 test_preprocess_search_results() 添加到 template.php 中(从 drupal 页面“function template_preprocess_search_results”复制代码,然后将 search-result.tpl.php 从搜索模块复制到“test”的模板文件夹。

function test_preprocess_search_results(&$variables) $variables['search_results'] = ''; if (!empty($variables['module'])) $variables['module'] = check_plain($variables['module']); foreach ($variables['results'] as $result) $variables['search_results'] .= theme('search_result', array('result' => $result, 'module' => $variables['module'])); $variables['pager'] = theme('pager', array('tags' => NULL)); $variables['theme_hook_suggestions'][] = 'search_results__' . $variables['module'];

我是drupal的新手,我关心的是如何让搜索结果显示在我的page.tpl.php文件中声明的某个div中?在 page.tpl.php div 中执行类似<?php print render($page['search_result']); ?> 的操作?我不确定默认主题如何知道在哪里显示搜索结果?谁能帮忙谢谢

ps:在我做完之后,刷新缓存,什么都没有显示

【问题讨论】:

【参考方案1】:

对于搜索结果,您应该使用 search-results.tpl.php(所有结果列表)和 search-result.tpl.php(单个列表项)模板.将它们从 ROOT/modules/search 文件夹复制到您的主题文件夹中,并根据需要覆盖它们。

【讨论】:

以上是关于自定义 drupal 搜索结果页面的主要内容,如果未能解决你的问题,请参考以下文章

自定义模板中的Drupal 7自定义表单

Drupal 自定义 HTML 搜索表单

在 Drupal 中按字段搜索自定义节点?

Drupal 6 中的自定义搜索表单:视图/面板还是自定义 sql?

如何仅基于用户角色 Drupal 自定义 drupal 过滤器

PHP 在Drupal 6中自定义块搜索表单