Drupal 7 在搜索结果中打印内容字段

发布于 2024-11-30 09:59:08 字数 491 浏览 2 评论 0原文

我正在使用 drupal 7 和 apache solr...

我想在搜索结果中打印内容字段...听起来很简单,

我将此函数放置在自定义模块中:

function module_name_apachesolr_modify_query(&$query , &$params) { $query->params['fl'] .= ',im_field_name'; 我验证

了 /admin/reports/apachesolr 中的字段名称是否正确。我启用了该模块,到目前为止一切看起来都是正确的。

然后在 search-result.tpl.php 中,我做了几种变体

没有成功...我想我可能做了一些愚蠢的事情。我会继续努力,但非常感谢任何帮助!谢谢!

I'm using drupal 7, with apache solr...

I want to print a content field in the search results...Sounded easy enough,

I placed this function in a custom module:

function module_name_apachesolr_modify_query(&$query, &$params) {
$query->params['fl'] .= ',im_field_name';
}

I verified that the field name was correct in /admin/reports/apachesolr. I enabled the module, and everything so far looked correct.

Then in search-result.tpl.php I've done several variations of,

<?php print render($content['im_field_name']); ?>

With no success...I figured i might be doing something stupid. I'll keep plugging away at it, but any help is very appreciated! Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魔法唧唧 2024-12-07 09:59:08

目前正在学习这个,我一直在寻找同样的东西,但设法让它发挥作用。不幸的是,似乎没有太多关于 Drupal 7 的文档,但在The Definitive Guide to Drupal 7一书中有一个小章节。

我使用了 hook_apachesolr_query_alter(),例如:

function MODULE_apachesolr_query_alter(&$query, &$params, $caller) {
    $query->addParam('fl', 'im_field_name');
}

添加上述内容意味着它现在在模板的预处理函数中可见,因此我执行了以下操作:

function THEME_preprocess_search_result(&$vars) {
    $vars['im_field_name'] = $vars['result']['fields']['im_field_name'][0];
}

然后它可用于模板:

<?php if ($im_field_name) : ?>
    <?php print $im_field_name; ?>
<?php endif; ?>

Currently learning this and I was looking for the same thing, but managed to get it working. Unfortunately, there doesn't seem to be much documentation around for Drupal 7, but there is a small chapter about it in The Definitive Guide to Drupal 7 book.

I used hook_apachesolr_query_alter(), for example:

function MODULE_apachesolr_query_alter(&$query, &$params, $caller) {
    $query->addParam('fl', 'im_field_name');
}

Adding the above meant it was now visible in the preprocess function for the template, so I did the below:

function THEME_preprocess_search_result(&$vars) {
    $vars['im_field_name'] = $vars['result']['fields']['im_field_name'][0];
}

Then it was available to the template:

<?php if ($im_field_name) : ?>
    <?php print $im_field_name; ?>
<?php endif; ?>
恋你朝朝暮暮 2024-12-07 09:59:08

对于那些想要自定义 Apache 显示搜索结果的方式的人,我强烈建议您查看 Display Suite 模块索尔。它提供了高级别的搜索页面定制,包括由 Apache Solr 生成的搜索页面。观看此截屏视频:

Drupal 7 的 Display Suite - 第 5 部分:搜索显示

I highly recommend checking out the Display Suite module, for those wanting to customize the way search results are displayed by Apache Solr. It provides a high level of customization of search pages, including those generated by Apache Solr. Check out this screencast:

Display Suite for Drupal 7 - Part 5: search display

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文