自定义 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 6 中的自定义搜索表单:视图/面板还是自定义 sql?