drupal search – Cambiar el número de resultados de búsqueda por página con el módulo de búsqueda principal

Pregunta:

¿Cuál es la mejor manera de cambiar la cantidad de resultados de búsqueda por página cuando se usa el módulo de búsqueda principal?

Tengo sitios de Drupal 6 y 7 con los que me gustaría hacer esto.

En Drupal 6, el valor 10 está codificado en do_search() .

En Drupal 7, el valor 10 está codificado en los ganchos, por ejemplo, node_search_execute() , y no se agrega una etiqueta que pueda identificar de manera única la consulta para alterar. La idea ha aparecido en la cola de problemas , pero hasta el 30 de enero de 2013, todavía no se ha comprometido nada.

En el pasado, pirateé el núcleo y manejé las actualizaciones con la administración de parches utilizando los métodos normales.

Respuesta:

No es posible anular el gancho implementado desde el módulo Node porque hook_search_execute () es invocado por search_data () usando el siguiente código.

  if (module_hook($module, 'search_execute')) {
    $results = module_invoke($module, 'search_execute', $keys, $conditions);
    if (module_hook($module, 'search_page')) {
      return module_invoke($module, 'search_page', $results);
    }
    else {
      return array(
        '#theme' => 'search_results', 
        '#results' => $results, 
        '#module' => $module,
      );
    }
  }

$module es el parámetro pasado a search_data() . hook_search_execute() es similar a hook_form () que se invoca para el módulo que implementa el tipo de contenido, no para todos los módulos.

Estaba buscando una forma de alterar la consulta ejecutada para buscar nodos, y la única forma que encontré es alterar la devolución de llamada de la página para buscar / nodo. Esa es la forma que requiere menos código. De lo contrario, la única alternativa que se me ocurre es implementar un módulo de búsqueda para reemplazar la pestaña de búsqueda implementada para el módulo Nodo.

Dado que Drupal usa hook_search_info () , pero no usa hook_search_info_alter() , y hook_search_info() no devuelve muchos datos útiles (al menos para ayudar a anular la consulta de búsqueda), creo que no hay otras alternativas.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım