Для тех, кто интересуется предысторией о том, почему это в настоящее время невозможно сделать, легко увидеть: drupal.org/node/33809
coderintherye
Мне нужно было сделать то же самое в Drupal 8, и я не могу изменить предел нумерации результатов поиска. Вы можете помочь в этом.?
Навин Кумар
Ответы:
15
Я рекомендую использовать представления для этого. Представления идут с включенным поисковым представлением (по умолчанию отключено). Используйте открытый фильтр поисковых терминов, чтобы обеспечить функциональность поиска, и при необходимости настройте другие аспекты представления.
Спасибо за рекомендацию. Это выглядит как самый простой способ, но в Drupal 7 я не вижу ни одного вида поиска.
Mivoligo
Вы можете точно настроить представления так, чтобы они отображали результаты поиска, такие как core search.module
Daniel Wehner,
11
Ограничение в 10 элементов обычно жестко закодировано в hook_search_execute()реализациях (например node_search_execute()): теоретически вы можете реализовать hook_search_execute()и изменить ->limit(10)запрос на что-то другое 10.
Но, как упоминалось в beeradb , возможно, проще использовать Views для переопределения основных результатов поиска.
В настоящее время Drupal не позволяет изменять количество результатов поиска на странице. Как рекомендует @beeradb, вы можете использовать модуль Views (видео-учебник для D7 по адресу http://lin-clark.com/blog/intro-drupal-7-intro-views-pt-1 ).
В Drupal 7 я мог изменять основные элементы результатов поиска на странице, используя hook_query_alter в пользовательском модуле. Следующий фрагмент кода можно использовать, если вы знакомы с использованием хуков в коде:
<?php
/**
* Implements hook_query_alter
*/function MY_MODULE_query_alter(&$query){// This is a search result query and we want to change the// number of search results per page to 16.if($query instanceofPagerDefault&&($tables = $query->getTables())&& isset($tables['i']['table'])&& $tables['i']['table']==='search_index'){
$query->limit(16);}}
Я не нашел «вид поиска» в модуле представлений. Я использую представления 7.x-3.7.
Чтобы получить более 10 результатов поиска на одной странице в Drupal 7, я использовал модуль search_config . Я использовал его последнюю версию «7.x-1.1-beta2».
После включения модуля вы можете настроить ограничение пейджера в разделе «Настройка» -> «Поиск» и «Метаданные» -> «Настройки поиска» (admin / config / search / settings) в разделе «ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ ПОИСКА УЗЛА». Там вы увидите раздел «Результаты» и можете указать лимит пейджера для отображения более 10 результатов поиска на одной странице.
Представление поиска по умолчанию, похоже, было удалено из модуля Views, поэтому вот один из них, который я быстро выбрал, который вы можете использовать в качестве отправной точки для своих собственных требований. Используйте диалог импорта Views и вставьте код, чтобы импортировать его.
Ответы:
Я рекомендую использовать представления для этого. Представления идут с включенным поисковым представлением (по умолчанию отключено). Используйте открытый фильтр поисковых терминов, чтобы обеспечить функциональность поиска, и при необходимости настройте другие аспекты представления.
источник
Ограничение в 10 элементов обычно жестко закодировано в
hook_search_execute()
реализациях (напримерnode_search_execute()
): теоретически вы можете реализоватьhook_search_execute()
и изменить->limit(10)
запрос на что-то другое10
.Но, как упоминалось в beeradb , возможно, проще использовать Views для переопределения основных результатов поиска.
источник
В настоящее время Drupal не позволяет изменять количество результатов поиска на странице. Как рекомендует @beeradb, вы можете использовать модуль Views (видео-учебник для D7 по адресу http://lin-clark.com/blog/intro-drupal-7-intro-views-pt-1 ).
Для этого есть запрос на добавление Drupal 8 http://drupal.org/node/702940 .
источник
В Drupal 7 я мог изменять основные элементы результатов поиска на странице, используя hook_query_alter в пользовательском модуле. Следующий фрагмент кода можно использовать, если вы знакомы с использованием хуков в коде:
источник
Я не нашел «вид поиска» в модуле представлений. Я использую представления 7.x-3.7.
Чтобы получить более 10 результатов поиска на одной странице в Drupal 7, я использовал модуль search_config . Я использовал его последнюю версию «7.x-1.1-beta2».
После включения модуля вы можете настроить ограничение пейджера в разделе «Настройка» -> «Поиск» и «Метаданные» -> «Настройки поиска» (admin / config / search / settings) в разделе «ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ ПОИСКА УЗЛА». Там вы увидите раздел «Результаты» и можете указать лимит пейджера для отображения более 10 результатов поиска на одной странице.
источник
Представление поиска по умолчанию, похоже, было удалено из модуля Views, поэтому вот один из них, который я быстро выбрал, который вы можете использовать в качестве отправной точки для своих собственных требований. Используйте диалог импорта Views и вставьте код, чтобы импортировать его.
источник
Вы также можете использовать модуль ограничения поиска или использовать следующий код в template.php
источник