Drupal 7 печатать содержимое поля в результатах поиска - PullRequest
1 голос
/ 18 августа 2011

Я использую 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 я сделал несколько вариантов,

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

Безуспешно ... Я подумал, что могу сделать что-то глупое. Я буду продолжать в том же духе, но любая помощь очень ценится! Спасибо!

Ответы [ 2 ]

1 голос
/ 18 апреля 2014

Я настоятельно рекомендую проверить модуль Display Suite , если вы хотите настроить отображение результатов поиска Apache Solr.Он обеспечивает высокий уровень настройки поисковых страниц, в том числе сгенерированных Apache Solr.Посмотрите эту скринкаст:

Display Suite для Drupal 7 - часть 5: отображение поиска

1 голос
/ 03 декабря 2011

В настоящее время изучаю это, и я искал то же самое, но сумел заставить его работать.К сожалению, похоже, что документации по Drupal 7 не так много, но в книге Подробное руководство по Drupal 7 есть небольшая глава.

Я использовал hook_apachesolr_query_alter () , например:

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

Добавление выше означало, что теперь оно было видно в функции предварительной обработки для шаблона, поэтому я выполнил следующее:Тогда был доступен шаблон:

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