MyBB.de Forum

Normale Version: Suchlink ohne SID
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Wenn man im Mybb eine Suche startet, wird ja ein Suchlink generiert, der eine SID enthält. Dies hat den Nachteil, dass man den Link nicht gut weitergeben kann, weil neue Themen, die nach dem Start der Suche hinzugekommen sind, nicht erfasst werden.

Ich würde also gerne einen Suchlink generieren, der in bestimmten Foren nach einem festen Begriff sucht, sprich alle Such-Parameter direkt in der URL enthält und somit immer aktuell ist:

Beispiel (funktioniert natürlich nicht):

PHP-Code:
www.domain.de/search.php?action=results&fid=24,48&keyword=Suchbegriff&sortby=lastpost&order=desc 


Ist das irgendwie möglich ?
Aufgrund der Komplexität wird nicht live gesucht, sondern auf die Daten zurück gegriffen, die der sid zugeordnet sind. Das kannst du nicht so leicht verändern.
Ein Kompromiss wäre evtl. den Link so zu gestalten, daß er die Werte nur ins Formular einträgt, der User dann aber selber noch abschicken muss. Das würde unnötige Suchlast durch Zufallsklicks / Spambots / Suchmaschinen verhindern (letztere wird man aber auch mit robots.txt los)

Mit Codeänderung oder Plugin sicher nicht unmöglich...

Wenn du die Problematik ignorieren willst bzw. dir etwaige Probleme egal sind, in search.php einfach die Bedingung $mybb->request_method == "post" entfernen, dann klappt automatisch der Get-Request mit search.php?action=do_search&keywords=abc

Aber für den Moment ist die Suche ja aktuell, der sucht ja nichts aus einem Archiv und neue Beiträge werden auch berücksichtigt in einem schon bestehenden Thread (wenn man den Link später wieder anklickt). Nur halt neue Threads nicht.

Zudem bieten die meisten anderen Forensoftwares solch ein Such-System. Die Suche soll ja nicht in Echtzeit aktualisiert werden. Ist doch nur ein einfacher Link, der Parameter an die Suche übergibt. Also praktisch ein Link, der die Arbeit der manuellen Sucheinstellungen abnimmt.
Wenn du das von Stefan verlinkte OpenSearch-Plugin einbaust, kannst du auch solche Links setzen:

search.php?action=search&keywords=SUCHBEGRIFF
Es würde dann noch ein Parameter fehlen, mit dem man nur in bestimmten Foren sucht und nicht global in allen.
Wenn du in dem Plugin das Array $search_data um folgendes ergänzt, kannst du die Foren-ID so hinzufügen:

search.php?action=search&keywords=SUCHBEGRIFF&forums[]=24&forums[]=48

Code:
'forums' => $mybb->input['forums']

P.S.: Der Paramter fid wird niemals etwas dieser Art enthalten können (aus deinem Beispiel oben): 24,48
MyBB säubert fid und macht daraus immer ein Integer.
(20.02.2011, 22:06)querschlaeger schrieb: [ -> ]MyBB säubert fid und macht daraus immer ein Integer.

Leider nicht immer...

PHP-Code:
if($type == "int" && $this->input[$var] != "lastposter"

Ist ein Grund warum man trotzdem überall selber intval() drumrumkleistern darf...