Suche nur im Titel möglich

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
PhoenixDH
Mitglied
Beiträge: 257
Registriert: 23.06.2006 08:33
Wohnort: Erfweiler

Suche nur im Titel möglich

Beitrag von PhoenixDH »

Gibt es da einen Mod der es ermöglicht, bei einer Suche nur auszuwählen dass man im Titel suchen möchte?

Denn im Moment ist ja nur Titel + Text oder nur Text möglich!
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

schau mal hier rein :wink:
Search Topic Title Only
Allows you to add a function to your search page, which will allow your users to search only the topic title.

Markus
PhoenixDH
Mitglied
Beiträge: 257
Registriert: 23.06.2006 08:33
Wohnort: Erfweiler

Beitrag von PhoenixDH »

Dank dir, werds testen!
Benutzeravatar
FritzM
Mitglied
Beiträge: 15
Registriert: 13.10.2006 23:34
Wohnort: München

Beitrag von FritzM »

Hallo,

also ich finde diesen "MOD" ja verdammt wichtig und meiner Meinung ach sollte er grundsätzlich in das phpBB-Forum integriert werden, denn gerade wenn es mehrere hundert oder tausend Beiträge gibt, kann man mit der "Nur Titel"-Suche die Antworten schneller und einfacher finden!

Hab bei mir im Portal die Suche einbaut...

So wie ich das sehe, ist das aber jetzt eine "Nur Text"-Suche... :cry:

Wenn ich nämlich z. B. bei mir nach dem Stichwort "Internet" Suche, müsste ja eigentlich der Beitrag "Internet Explorer 7.x & Media Player 11 - BETA Versionen" erscheinen.
Der kommt aber nicht! :cry:
Stattdessen zeigt er als Suchergebnis den Beitrag "Fluch der Karibik" an, und hebt darin den Link zur "Internet Movie Database - Fluch der Karibik" hervor...

Irgendwas stimmt da also noch net so richtig!
Ausserdem hätte ich gern, dass der Radio-Button für die "Nur Titel"-Suche vorausgewählt ist.

Kann da bitte jemand helfen? :oops: :oops: :oops:
Benutzeravatar
FritzM
Mitglied
Beiträge: 15
Registriert: 13.10.2006 23:34
Wohnort: München

Beitrag von FritzM »

*schieb* :oops:

Kann bitte jemand helfen?

Finde den MOD ziemlich wichtig, hab aber nirgends nähere Infos darüber bekommen, was ich noch ändern könnte...

Viele Grüsse
Fritz
Benutzeravatar
FritzM
Mitglied
Beiträge: 15
Registriert: 13.10.2006 23:34
Wohnort: München

Beitrag von FritzM »

*schieb* 8)

Ok, ich probier's nochmal... :oops:

Ich glaub, es liegt möglicherweise an der search.php.
Weiss jemand, woran es liegt? Schätze mal, folgender Code muss da angepasst werden:

Code: Alles auswählen

						if ( !strstr($multibyte_charset, $lang['ENCODING']) )
						{
							$match_word = str_replace('*', '%', $split_search[$i]);
							$search_match = ( $search_fields == 0 ) ? "w.word_text LIKE '$match_word' AND m.title_match = 0" : ( ( $search_fields == 1) ? "w.word_text LIKE '$match_word'" : "w.word_text LIKE '$match_word' AND m.title_match = 1" );
							$sql = "SELECT m.post_id 
								FROM " . SEARCH_WORD_TABLE . " w, " . SEARCH_MATCH_TABLE . " m 
								WHERE " . $search_match . "
									AND m.word_id = w.word_id 
									AND w.word_common <> 1";
						}
						else
						{
							$match_word =  addslashes('%' . str_replace('*', '', $split_search[$i]) . '%');
							$search_match = ( $search_fields == 0 ) ? "post_text LIKE '$match_word'" : ( ( $search_fields == 1) ? "post_text LIKE '$match_word' OR post_subject LIKE '$match_word'" : "post_subject LIKE '$match_word'" );
							$sql = "SELECT post_id
								FROM " . POSTS_TEXT_TABLE . "
								WHERE " . $search_match;
						}
Das war zumindest der Part, den man ändern musste...

Kann jemand helfen, der sich Code-Programmierung auskennt?

Wär echt supergeil! ... :cry: :cry:
Benutzeravatar
FritzM
Mitglied
Beiträge: 15
Registriert: 13.10.2006 23:34
Wohnort: München

Beitrag von FritzM »

Hallo Leute!

*schieb*

Ich geb immer noch net auf... :P

Hab mich jetzt selbst etwas mit dem Problem befasst und versucht, das Ganze mit Logik zu lösen, da ich mich ja mit der Programmiersprache leider überhaupt net auskenne... :cry:

Zu folgendem Ergebnis bin ich mittlerweile gekommen:

In der search.php steht nach der Änderung:

Code: Alles auswählen

$search_fields = ( $HTTP_POST_VARS['search_fields'] == 'all' ) ? 1 : ( ( $HTTP_POST_VARS['search_fields'] == 'msgonly' ) ? 0 : 2 );
Das bedeutet doch, dass die Variable $search_fiedls bei einer "Nur-Titel-Suche" den Wert 2 hat, oder?

Also hab ich daraufhin die Zeile

Code: Alles auswählen

							$match_word = str_replace('*', '%', $split_search[$i]);
							$search_match = ( $search_fields == 0 ) ? "w.word_text LIKE '$match_word' AND m.title_match = 0" : ( ( $search_fields == 1) ? "w.word_text LIKE '$match_word'" : "w.word_text LIKE '$match_word' AND m.title_match = 1" );
							$sql = "SELECT m.post_id 
								FROM " . SEARCH_WORD_TABLE . " w, " . SEARCH_MATCH_TABLE . " m 
								WHERE " . $search_match . "
									AND m.word_id = w.word_id 
									AND w.word_common <> 1";
wie folgt abgeändert:

Code: Alles auswählen

							$match_word = str_replace('*', '%', $split_search[$i]);
							$search_match = ( $search_fields == 2 ) ? "w.word_text LIKE '$match_word' AND m.title_match = 0" : ( ( $search_fields == 1) ? "w.word_text LIKE '$match_word'" : "w.word_text LIKE '$match_word' AND m.title_match = 1" );
							$sql = "SELECT m.post_id 
								FROM " . SEARCH_WORD_TABLE . " w, " . SEARCH_MATCH_TABLE . " m 
								WHERE " . $search_match . "
									AND m.word_id = w.word_id 
									AND w.word_common <> 1";
Aus der 0 also eine 2.

Bin mir zwar überhaupt net um die Auswirkungen bewußt, aber:
Es scheint zu funktionieren! :D :D :D

Problem:
In der Suchmaske hat nun auch die Funktion "Nur Nachrichtentext durchsuchen" die "Nur-Titel"-Suchfunktion und bringt das gleiche Ergebnis...

Was muss man da noch ändern, damit das auch funktioniert?

Wenn das mal funktionieren würde, wär das super-geil, weil man dann gezielter nach Themen suchen könnte und nicht jeden Beitrag bekommt, wo irgendwann mal die gesuchten Wörter zufällig genannt werden...

Wär auch für phpbb nicht schlecht, da hier ja immer auf die Suchfunktion verwiesen wird, die grundsätzlich aber viel zu viele Ergebnisse bringt, die auch größtenteils unbrauchbar sind, weil die gesuchten Wörter im Nachrichtentext nicht das gesuchte Problem wiederspiegeln. Die normale Suchfunktion ist daher m. E. sehr mangelhaft...


EDIT:
Bin übrigens gerade draufgekommen, wie man die "Vorauswahl" auf die Nur-Titel-Suche ändert! *stolz* :D

Code: Alles auswählen

<td class="row2" valign="middle"><span class="genmed"><select class="post" name="search_time">{S_TIME_OPTIONS}</select><br /><input type="radio" name="search_fields" value="all" checked="checked" /> {L_SEARCH_MESSAGE_TITLE}<br /><input type="radio" name="search_fields" value="msgonly" /> {L_SEARCH_MESSAGE_ONLY}<br /><input type="radio" name="search_fields" value="titleonly" /> {L_SEARCH_TITLE_ONLY}</span></td>
umändern in

Code: Alles auswählen

<td class="row2" valign="middle"><span class="genmed"><select class="post" name="search_time">{S_TIME_OPTIONS}</select><br /><input type="radio" name="search_fields" value="all" /> {L_SEARCH_MESSAGE_TITLE}<br /><input type="radio" name="search_fields" value="msgonly" /> {L_SEARCH_MESSAGE_ONLY}<br /><input type="radio" name="search_fields" value="titleonly" checked="checked" /> {L_SEARCH_TITLE_ONLY}</span></td>
Benutzeravatar
FritzM
Mitglied
Beiträge: 15
Registriert: 13.10.2006 23:34
Wohnort: München

Beitrag von FritzM »

Immer noch wichtig...

*schieb* :oops: :oops: :oops:
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“