Drupal 7의 한 페이지에서 10 개 이상의 검색 결과를 얻으려면 어떻게해야합니까?


17

기본적으로 검색 페이지에는 10 개의 결과 만 표시됩니다. 무제한의 결과를 표시하도록 변경하려면 어떻게해야합니까?


1
왜 이것이 쉽게 볼 수 없는지에
coderintherye

Drupal 8에서 동일한 작업을 수행해야했으며 검색 결과의 페이지 매김 제한을 변경할 수 없습니다. 이것 좀 도와 줄래?
Naveen Kumar

답변:


15

이를 위해 뷰를 사용하는 것이 좋습니다. 보기에는 검색보기가 포함되어 있습니다 (기본적으로 비활성화되어 있음). 노출 된 검색어 필터를 사용하여 검색 기능을 제공하고 필요에 따라보기의 다른 측면을 사용자 정의하십시오.


추천 해 주셔서 감사합니다. 가장 쉬운 방법처럼 보이지만 Drupal 7에서는 검색보기가 포함되어 있지 않습니다.
mivoligo

핵심 검색과 같은 검색 결과를 표시하는보기에서 결정적인보기를 구성 할 수 있습니다. 모듈
Daniel Wehner



4

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 instanceof PagerDefault
    && ($tables = $query->getTables())
    && isset($tables['i']['table'])
    && $tables['i']['table'] === 'search_index') {
    $query->limit(16);
  }
}

0

views 모듈에서 'search view'를 찾지 못했습니다. 뷰 7.x-3.7을 사용하고 있습니다.

Drupal 7의 한 페이지에서 10 개 이상의 검색 결과를 얻으려면 search_config를 사용했습니다. 모듈 . 최신 버전 '7.x-1.1-beta2'를 사용했습니다.

모듈이 활성화되면 '추가 노드 검색 구성'섹션의 구성-> 검색 및 메타 데이터-> 검색 설정 (admin / config / search / settings)에서 호출기 제한을 구성 할 수 있습니다. 거기에 '결과'섹션이 표시되며 한 페이지에 10 개 이상의 검색 결과를 표시하도록 호출기 제한을 지정할 수 있습니다.


이것은 Apache Solr에서 작동하지 않는 것 같습니다.
잭 라이언

0

기본 검색보기가보기 모듈에서 제거 된 것으로 보이므로 다음은 사용자 요구 사항의 출발점으로 사용할 수 있도록 신속하게 정리 한 것입니다. 보기 가져 오기 대화 상자를 사용하여 코드에 붙여 넣으십시오.

$view = new view();
$view->name = 'search_test';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'search test';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'search test';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'input_required';
$handler->display->display_options['exposed_form']['options']['text_input_required'] = 'Enter some search keywords.';
$handler->display->display_options['exposed_form']['options']['text_input_required_format'] = 'filtered_html';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '20';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
$handler->display->display_options['empty']['area']['table'] = 'views';
$handler->display->display_options['empty']['area']['field'] = 'area';
$handler->display->display_options['empty']['area']['empty'] = TRUE;
$handler->display->display_options['empty']['area']['content'] = 'No results found.';
$handler->display->display_options['empty']['area']['format'] = 'filtered_html';
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Search: Search Terms */
$handler->display->display_options['filters']['keys']['id'] = 'keys';
$handler->display->display_options['filters']['keys']['table'] = 'search_index';
$handler->display->display_options['filters']['keys']['field'] = 'keys';
$handler->display->display_options['filters']['keys']['operator'] = 'required';
$handler->display->display_options['filters']['keys']['exposed'] = TRUE;
$handler->display->display_options['filters']['keys']['expose']['operator_id'] = 'keys_op';
$handler->display->display_options['filters']['keys']['expose']['label'] = 'Search Terms';
$handler->display->display_options['filters']['keys']['expose']['operator'] = 'keys_op';
$handler->display->display_options['filters']['keys']['expose']['identifier'] = 'keys';

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'search';

-2

검색 제한 모듈도 사용하거나 template.php에서 다음 코드를 사용할 수 있습니다

if(arg(0) == "search" && arg(1) == "site") {

$variables['quantity'] = 5; 

}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.