Как показать поле CCK в результатах поиска? - PullRequest
0 голосов
/ 15 июня 2010

Как отобразить пользовательское поле CCK (текстовое или графическое поле) на странице результатов основного поиска Drupal?

Ответы [ 3 ]

2 голосов
/ 15 июня 2010

Вам нужно переопределить search-result-tpl.php в вашей теме. Скопируйте его из модуля / поиска в каталог тем, очистите кэш тем, и все готово. Вы увидите, что для файла темы доступен массив с именем 'result', который содержит набор данных, включая объект узла. Таким образом, ваш файл становится примерно таким:

<dt class="title">
  <a href="<?php print $url; ?>"><?php print $title; ?></a>
</dt>
<dd>
<?php
 // Here is the change
 print $result['node']->field_name_of_cck_field['view'];
 ?>
  <?php if ($snippet) : ?>
    <p class="search-snippet"><?php print $snippet; ?></p>
  <?php endif; ?>
  <?php if ($info) : ?>
  <p class="search-info"><?php print $info; ?></p>
  <?php endif; ?>
</dd>

Удачи!

1 голос
/ 16 июня 2010

1 Копировать search-result.tpl.php файл из модулей / поиск в папке вашей темы

2 Для текстового поля CCK добавить:

<?php if ($result['node']->field_name[0]['value']): ?>
  <h4><?php print($result['node']->field_name[0]['value']); ?></h4>
<?php endif; ?>

3 Для поля изображения с кэшем изображений:

<?php if ($result['node']->field_logo[0]['filename']): ?>
  <img src="/sites/default/files/imagecache/path_to_file/<?php print $result['node']->field_logo[0]['filename']; ?>" />
<?php endif; ?>

4 CSS-стилизация следующая.

Спасибо за cam8001 & googletorp!

0 голосов
/ 15 июня 2010

Зависит от того, как вы выполняете поиск.

Если вы используете представления для построения поиска, вы можете сами решить, что показывать.

Если вы используете какую-то другую механику поиска, вы можете использовать комбинацию ловушки пропроцесса, функции тематики и шаблона, чтобы получить желаемый результат. У вас должен быть доступный объект узла, поэтому отображение CCK должно быть достаточно простым.

Edit:
Для модуля поиска ядра Drupal вам нужно переписать search-result.tpl.php в вашей теме, чтобы изменить способ вывода результатов поиска. Здесь вы можете добавить или удалить информацию. Если вам нужно больше переменных, вы можете создать их для использования в шаблоне в обработчике . Это базовая тема Drupal, посмотрите справочник .

...