Highlight bei Volltext Suche

FireCologne
Beiträge: 44
Registriert: Fr 7. Nov 2003, 23:53
Kontaktdaten:

Highlight bei Volltext Suche

Beitrag von FireCologne »

Hallo zusammen,

zunächst nochmal ein großes Lob für Contenido... habe mich nun eingearbeitet und bin echt begeistert. Mittlerweile wage ich mich sogar an die Modifikation von Modulen...

Tja, ich würde gerne bei dem Suchmodul eine Highlight Funktion einbauen, d.h. dass im Suchergebnis das Suchwort farbig dargestellt wird, so dass wen der Besucher eine suche ausführt, er in dem Text, den er findet das Suchwort immer fett bzw. farbig vorfindet ...

Hat jemand ne Lösung parat ??

Herzlichen Dank!!

MfG

FireCologne
sumsi
Beiträge: 39
Registriert: Do 30. Okt 2003, 16:40
Kontaktdaten:

Beitrag von sumsi »

gute idee...würde mich auch interessieren
agon
Beiträge: 83
Registriert: Mi 29. Okt 2003, 16:01
Kontaktdaten:

Beitrag von agon »

Hallo,

so könnte es gehen:

1. Ein assoziatives Array bauen mit

Code: Alles auswählen

array=array($suchwort[$i] => "<b class=farbig>".$suchwort[$i]."</b>")
($i sollte über alle Suchwörter laufen).

2. css-Klasse farbig definieren.

3.

Code: Alles auswählen

$ausgabetext = strtr($ausgabetext, $array);
Sollte tun
Andreas
alkibiades
Beiträge: 3
Registriert: So 11. Jan 2004, 18:13
Kontaktdaten:

Beitrag von alkibiades »

Hallo,

bin seit kurzem begeisterter contenido-benutzer und sehr dankbar für dieses äußerst brauchbare cms!

@ agon:
leider sind meine php-kenntnisse zu gering, um mit diesem (sicherlich guten) hinweis was anfangen zu können.

wie ließe sich die suchwort-highlight funktion konkret für das bestehende suchmodul implementieren?

für jegliche hilfe wäre ich sehr dankbar.

beste grüsse,
alkibiades
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Beitrag von chriscross »

Hallo alkibiades

hat dein Wunsch noch Gültigkeit? wenn ja bitte melden.





thanks god it's friday!
Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy »

Ist bereits in Arbeit.
@agon , so einfach ist das denn doch nicht, du mußt das über $sess an die Seiten weitergeben.

Siehe http://www.thilo-sommer.de dort kannst Du dir den Stand der Dinge anschauen.
Ist zu 80% ok. werde ich in den nächsten Tagen hier im Forum veröffentlichen.
Gruß aus Hamburg :wink:
alkibiades
Beiträge: 3
Registriert: So 11. Jan 2004, 18:13
Kontaktdaten:

Beitrag von alkibiades »

chriscross hat geschrieben:
hat dein Wunsch noch Gültigkeit?
Ja - ich wäre weiterhin sehr an einer Lösung interessiert.
Hast Du vielleicht eine Lösung in petto?

Grüsse,
Alkibiades
sandra07
Beiträge: 93
Registriert: So 10. Apr 2005, 11:17
Wohnort: Schweiz
Kontaktdaten:

Highlight für Suchergebnis in Volltextsuche

Beitrag von sandra07 »

Hallo zusammen

Hat jemand eine Lösung für die Volltextsuche mit Hervorhebung der gefunden Wörter?

Leider kann ich mit meinen PHP Kenntnissen mit der Antwort von agon auch nicht viel anfangen.

Ich freue mich auf eine Lösung, die auch ich als Newbie anwenden kann :roll:
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt »

Bringt dir der Hinweis mit "str_replace" etwas? Ich benutze die Suche für conFlakes, die geht mit normalen Modulen nicht. ;)
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
sandra07
Beiträge: 93
Registriert: So 10. Apr 2005, 11:17
Wohnort: Schweiz
Kontaktdaten:

Farbliche Hervorhebung der Suchwörter

Beitrag von sandra07 »

Hallo i-fekt

Nein, das bringt mich nicht weiter. Ich benutze folgendes Modul, was ich auch ohne Probleme implementieren konnte :lol:
http://www.contenido.org/forum/viewtopi ... 1124#31124

Es wäre wirklich super, wenn man dieses Modul entsprechend erweitern könnte.

Hat das noch niemand erweitert?

Vielen Dank für das Feedback!
Sandra
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt »

Mein Vorschlag geht mit jedem Modul, aber da ich das von dir gepostete nicht einsetze kann ich es auch nicht ändern. ;)
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
sandra07
Beiträge: 93
Registriert: So 10. Apr 2005, 11:17
Wohnort: Schweiz
Kontaktdaten:

Beitrag von sandra07 »

Leider nützt mir dein Vorschlag nichts.... :cry:

Sonst jemand eine Idee? Wäre wirklich spitze...

Schönen Abend allerseits!
Sandra
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt »

Wieso nützt mein Vorschlag nichts? Auf so konkrete Antworten kann man auch nicht konkrtet eingehen.
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
sandra07
Beiträge: 93
Registriert: So 10. Apr 2005, 11:17
Wohnort: Schweiz
Kontaktdaten:

Beitrag von sandra07 »

Hallo i-fekt

Welche Antworten meinst du denn? Ich habe 1000 Fragen - die Antworten fehlen mir ja! :wink:

Mein Anliegen ist dasselbe wie von "alkibiades":
Zitat:
wie liesse sich die suchwort-highlight funktion konkret für das suchmodul implementieren?

Ich wäre also auf den entsprechenden Code angewiesen...

Auch ich bin natürlich für jegliche Hilfe sehr dankbar.
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beispiel

Beitrag von xmurrix »

Hallo zusammen,

eine highlight Funtion könnte z. B. folgendermaßen aussehen:

1. Definition in der CSS-Datei z.B.:

Code: Alles auswählen

.sSearchMark {font-family:Arial,sans-serif;background-color:#DADADA;}
2. Code in der Modulausgabe:

Code: Alles auswählen

for ($i = 0; $i < count($hits); $i++) {
	$tpl->set('d', 'ARTIKELNAME', $results[$i][title]);
	$tpl->set('d', 'TARGET', $linktarget);
	$tpl->set('d', 'HREF',  $results[$i][link]);
	//folgende zeile einfügen
	markResults($results[$i][text]);
	$tpl->set('d', 'TEXT',  $results[$i][text]);
	$tpl->next();
} 


/**
 * Function to highlight/mark matching results.
 * @param   $text  string  Reference to text which is 2 highlight/mark.
 */
function markResults(&$text) {
	global $suchliste;
	foreach ($suchliste as $pos => $val) {
		unset($arrRegs);
		$iFound = eregi($val, $text, $arrRegs);
		if (is_array($arrRegs)) {
			foreach ($arrRegs as $k => $v) {
				$text = str_replace($v, '<span class="sSearchMark">'.$v.'</span>', $text);
			}
		}
	}
} // function markResults()
Die Funktion verwende ich allerdings in einer Klasse, habe es mit dem Modul "Volltexsuche für 4.4" nicht getestet - Müsste aber funktionieren.

Gruß
xmurrix
Gesperrt