Anzahl der Suchergebnisse pro Seite erhöhen? Wie? Wo?
Eingetragen von wflorian (251)
am 03.03.2009 - 20:01 Uhr in
am 03.03.2009 - 20:01 Uhr in
Hallo.
Momentan gibt die Suche bei uns 10 Suchergebnisse pro Seite aus. Wir würden gerne die Anzahl pro Seite auf 20 erhöhen. Folgenden Code haben wir in der template.php:
function XXX_search_page($results, $type) {
global $pager_page_array, $pager_total;
$default_results = 10;
$count = (count($results) == $default_results)? $default_results: count($results);
$first_result = $pager_page_array[0] * $default_results;
$output = '';
if(($pager_total[0] > 1) && ($pager_page_array[0] == $pager_total[0])) {
$count_total = sprintf(' von insgesamt %d', $default_results * $pager_total[0]);
}
$output .= '<p class="search-count-results">'.sprintf('Zeige Resultate %d bis %d%s', $first_result + 1, $first_result + $count, $count_total).'</p>';
$output .= '<dl class="search-results">';
foreach ($results as $entry) {
$output .= theme('search_item', $entry, $type);
}
$output .= '</dl>';
$output .= theme('pager', NULL, 10, 0);
return $output;
}
Ein ändern von $default_results = 10;
hat leider nicht gebracht, auch ein ändern von $output .= theme('pager', NULL, 10, 0);
hat nichts gebracht.
Hat jemand eine Idee?
Grüße
Florian
- Anmelden oder Registrieren um Kommentare zu schreiben
das fände ich auch mal
am 05.03.2009 - 11:11 Uhr
das fände ich auch mal interessant zu wissen. hat niemand eine idee?
hardcodiert
am 05.03.2009 - 12:01 Uhr
Moin.
Überraschenderweise scheint die Anzahl der Ergebnisse hardcodiert zu sein. Es gibt bereits einen Issue zu diesem Thema. Dort ist auch ein Patch und ein zusätzliches Modul zum Anpassen der einzelnen Limits enthalten.
Das Problem ist, dass in der Funktion
do_search()
(Datei search.module) eine Query ausgeführt wird, bei der "10" als Wert für die Anzahl der zurückzugebenen Einträge eingetragen ist.Das bedeutet, dass man über theme_search_page() die Anzahl der Einträge nur zwischen 1 und 10 anpassen kann.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
hardcodierte Node-Anzahl in Kernmodul
am 05.03.2009 - 13:06 Uhr
Hallo,
einen ähnlichen Fall mit einer hardcodierten Node-Anzahl in einem Kernmodul (nebst ausführlicher Diskussion der Gefahren, wenn man da selber Hand anlegen will...) hatten wir hier schon einmal: http://www.drupalcenter.de/node/15036
hth
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Hallo ihr beiden. Erstmal
am 05.03.2009 - 13:37 Uhr
Hallo ihr beiden.
Erstmal herzlichen Dank für die Antwort.
Habe jetzt mit http://drupal.org/node/166172 eine ganz passable Lösung gefunden. Hierfür muss die search.module gehackt werden, führt halt kein Weg vorbei. Aber ich sehe es realistisch, je weiter mein Projekt voran schreitet, desto eher sind solche Eingriffe wohl erforderlich. Auf D6 oder irgendwann D7 zu updaten, halte ich für unrealistisch und zu aufwändig. Wie war das nochmal: Never change a running system :)
Kernmodule sauber hacken
am 05.03.2009 - 13:53 Uhr
Hierfür muss die search.module gehackt werden, führt halt kein Weg vorbei. Aber ich sehe es realistisch, je weiter mein Projekt voran schreitet, desto eher sind solche Eingriffe wohl erforderlich.
Kernmodule kann man auch transparent hacken (wobei die Meinungen da sehr auseinander und die Wogen manchmal hoch gehen..):
Wie kann ich auf transparente Weise Funktionen von Kernmodulen überschreiben?
http://www.drupalcenter.de/faq/15087
Gruß
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
hmmm gute idee...werde das
am 05.03.2009 - 14:02 Uhr
hmmm gute idee...werde das gleich mal später testen. sprich suchmodul ordner aus "modules" kopieren, und in "sites/all/modules" kopieren. dort dann die gewünschten änderungen vollführen. core search modul deaktivieren, das hack modul aktivieren...sehe ich das richtig?
Das Suchmodul funktioniert
am 05.03.2009 - 14:17 Uhr
Das Suchmodul funktioniert zusammen mit Views, damit wird es möglich Suchinterfaces zu bauen die besser wie das normale sind und alle Konfigurationsmöglichkeiten von Views haben - Damit zB die möglichkeit die Anzahl der Ergbnisse einzustellen wie man an diesem View sieht der für Editoren der Seite erstellt wurde:
Und die Konfiguration (Deutsch/englisch):
Drupal ist toll
am 05.03.2009 - 14:21 Uhr
Da sieht man doch wieder, wie toll Drupal ist. Und natürlich Views!
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
wie, wo, was? benötige ich
am 05.03.2009 - 14:26 Uhr
wie, wo, was? benötige ich dafür extra module? auch für d5?
Mein post bezog sich auf
am 05.03.2009 - 14:56 Uhr
Mein post bezog sich auf Drupal6, benötigt werden das Core search modul und das views Modul.
Unter Drupal 5 sollte man sich http://drupal.org/project/views_fastsearch anschauen, ansonsten ist die Vorgehensweise ähnlich.
Deaktivieren nicht erforderlich
am 05.03.2009 - 15:00 Uhr
sprich suchmodul ordner aus "modules" kopieren, und in "sites/all/modules" kopieren. dort dann die gewünschten änderungen vollführen. core search modul deaktivieren, das hack modul aktivieren...sehe ich das richtig?
Deaktivieren des Core-Moduls ist gar nicht nötig. Wenn da noch ein weiteres gleichnamiges unter \sites\modules\ ist, hat das automatisch Vorrang.
Aber natürlich ist die Views-Variante eleganter (wenn auch etwas aufwendiger).
Gruß
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
sDaniel schrieb Mein post
am 05.03.2009 - 15:21 Uhr
Mein post bezog sich auf Drupal6, benötigt werden das Core search modul und das views Modul.
Unter Drupal 5 sollte man sich http://drupal.org/project/views_fastsearch anschauen, ansonsten ist die Vorgehensweise ähnlich.
hmmm mit views fastsearch, hatte ich unter d5 mal rumprobiert, bin aber nie so richtig damit warm geworden. ich glaube auch das der von dir in den screens dargestellte funktionsumfang bei der d5 version nicht identisch ist. muss mich aber einfach mal mit der sache wohl ein bisschen mehr beschäftigen.
Frank Ralf
am 05.03.2009 - 15:22 Uhr
sprich suchmodul ordner aus "modules" kopieren, und in "sites/all/modules" kopieren. dort dann die gewünschten änderungen vollführen. core search modul deaktivieren, das hack modul aktivieren...sehe ich das richtig?
Deaktivieren des Core-Moduls ist gar nicht nötig. Wenn da noch ein weiteres gleichnamiges unter \sites\modules\ ist, hat das automatisch Vorrang.
Aber natürlich ist die Views-Variante eleganter (wenn auch etwas aufwendiger).
Gruß
Frank
danke frank. werd das die tage auch mal testen auf ner dev site und berichten :)