Suchbegriffe durch markieren hervorheben?

Fragen zu den Grundfunktionen der webEdition Oberfläche wie Backup, Import, ...
Fragen zu we:Tags bitte im Forum "Templates erstellen"
SAM

Suchbegriffe durch markieren hervorheben?

Beitragvon SAM » Di 15. Jun 2004, 10:54

Hallo,
ich habe auf meiner Seite eine Standardsuche, die funktioniert soweit auch ganz toll, das Problem ist nur dass wenn man nun die Seite aufruft in der der Suchbegriff gefunden wurde, muß man den ganzen Text durchgehen bis man die Stelle gefunden hat an der der Begriff steht.

Nun die Frage; ist es möglich diese gefundenen Begriffe durch markieren hervorzuheben?

SAM

Christoph Lütjen

Beitragvon Christoph Lütjen » Di 15. Jun 2004, 12:17

Hallo,

ist leider nur mit eigenem PHP möglich. Auf statischen Seiten natürlich gar nicht. In der Ergebnisliste selber geht es mit PHP. Nutzen Sie dafür die Funktionen $GLOBALS['lv']->f('Feldname'), und preg_replace().

SAM

Beitragvon SAM » Di 15. Jun 2004, 12:24

Danke für die schnelle Antwort.

Ist es dann nur in der Ergebnissliste Hervorgehoben? oder auch auf der Seite mit dem Begriff?

Geht das überhaupt?

Christoph Lütjen

Beitragvon Christoph Lütjen » Di 15. Jun 2004, 12:39

Hallo,

o.g. Lösung war für die Ergebnisseite gedacht. Detailseite: ist leider nur mit eigenem PHP möglich. Auf statischen Seiten natürlich gar nicht.

bolleone
Senior Member
Beiträge: 601
Registriert: So 4. Jul 2004, 00:24
Wohnort: Düsseldorf
Kontaktdaten:

Beitragvon bolleone » Di 21. Mär 2006, 17:55

Christoph Lütjen hat geschrieben:Hallo,

o.g. Lösung war für die Ergebnisseite gedacht. Detailseite: ist leider nur mit eigenem PHP möglich. Auf statischen Seiten natürlich gar nicht.
Könnten Sie das einmal genauer erläutern? Ich übergebe einen oder mehrere Suchbegriffe via request an die Detalseite. Wie gehts dann weiter?
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Mi 22. Mär 2006, 09:25

Hi,
schau mal hier:
http://forum.webedition.de/showthread.php?t=10136

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

bolleone
Senior Member
Beiträge: 601
Registriert: So 4. Jul 2004, 00:24
Wohnort: Düsseldorf
Kontaktdaten:

Beitragvon bolleone » Fr 8. Sep 2006, 10:44

e_herrmann hat geschrieben:Hi,
schau mal hier:
http://forum.webedition.de/showthread.php?t=10136

Grüße Elko
Nö, das bezieht sich auch nur auf die Ausgabe innerhalb der Ergebnisliste. Ich will aber folgendes:

<we:listview type="search">
<we:repeat>
Link_zur_gefundenen_Seite.php?suchbegriff=SUCHBEGRIFF
</we:repeat>
</we:listview>

Dann soll auf der DETAILSEITE dieser SUCHEBEGRIFF markiert werden. Also muss wohl die Seite irgendwie geparst werden, wobei der SUCHBEGRIFF immer durch "<span>SUCHBEGRIFF</span>" ersetzt werden soll.
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net

Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Beitragvon Creutzburg » Fr 8. Sep 2006, 11:38

grob skizziert, würde ich wie folgt vorgehen (ohne es bisher jemals gemacht zu haben):
- per REQUEST übergebenen Suchbegriff in globaler Variable speichern
- sämtliche WebEdition-Datenfelder, die normalerweise Text auf der Seite ausgeben, vor der Ausgabe mit PHP "bearbeiten": nach der Variable SUCHBEGRIFF durchsuchen und ersetzen durch z.B. <span>SUCHBEGRIFF</span>
- vielleicht kann man auch gleich das ganze WebEdition-eigene Array durchsuchen und ersetzen?

Berichte doch mal, ob Du damit weiterkommst.

Viel Erfolg,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Fr 8. Sep 2006, 14:00

Hi,
na genau das ist doch auf der Seite beschrieben. Ob man die ausgabe innerhalb einer LV oder auf der Seite macht unterscheidet sich ja nur im Zugriff auf die einzelnen Felder. Und klar den Suchberiff musst du natürlich per Request übergeben.
Die php-Funktion sollte aber so funktionieren.
Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

bolleone
Senior Member
Beiträge: 601
Registriert: So 4. Jul 2004, 00:24
Wohnort: Düsseldorf
Kontaktdaten:

Beitragvon bolleone » Fr 8. Sep 2006, 16:43

Creutzburg hat geschrieben:grob skizziert, würde ich wie folgt vorgehen (ohne es bisher jemals gemacht zu haben):
- per REQUEST übergebenen Suchbegriff in globaler Variable speichern
- sämtliche WebEdition-Datenfelder, die normalerweise Text auf der Seite ausgeben, vor der Ausgabe mit PHP "bearbeiten": nach der Variable SUCHBEGRIFF durchsuchen und ersetzen durch z.B. <span>SUCHBEGRIFF</span>
- vielleicht kann man auch gleich das ganze WebEdition-eigene Array durchsuchen und ersetzen?

Berichte doch mal, ob Du damit weiterkommst.

Viel Erfolg,
Alex
Danke für die Antwort!! So ähnlich habe ich mir das auch gedacht - theoretisch :-) Aber liebe Freunde, muss ich mich erst als TOTALER PHP-UNWISSENDER (nun ja, nicht ganz :-) outen, damit Ihr mir mal ein PHP'chen hier reintippt?

Konkret:

- per request übergeben = kein Problem, kann ich
- alles durchsuchen und ersetzen = kannichnicht :-(

Oh bitte, führet mich auf den richtigen Pfad...
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Fr 8. Sep 2006, 19:18

Hi,
bin selbst kein Programmierer und habe aus deinen Posts schon öfter mal gute php-Schnipsel mitgenommen, da dachte ich du kannst dir das selbst zusammenfummeln.
Ich habe das mal mit dem Beispiel von Ralf für ein Textfeld ausprobiert, funktionierte, war aber casesensitiv. Deshalb jetzt mit str_ireplace.
Die Ausgabe musst du dann für jedes Textfeld auf der Seite wiederholen.
Falls du mit Objekten arbeitest, funktioniert das natürlich nur innerhalb we_object.

Grüße Elko
Code: Alles auswählen
<?php

$suchwort = $_GET["suche"];
$ergebnis = $GLOBALS['we_doc']->getElement('Textfeld');

$treffer = str_ireplace($suchwort,"<font color='red'>".$suchwort."</font>",$ergebnis);
echo $treffer."<br/>";

?>
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

ThomasGoebe

Beitragvon ThomasGoebe » Sa 9. Sep 2006, 14:11

Ich finde die Idee gut und habe mir mal einen Tag dazu ausgedacht:
<we:highlightVar> erweitert <we:var> um die Möglichkeit, Begriffe hervorheben zu können.

Als Trennzeichen zwischen Begriffen können Leerzeichen, Plus/Minus oder auch Kommata genutzt werden. Begriffe mit einem vorangestellten Minus werden nicht hervorgehoben.
Ich hoffe, damit die Übergabe eines Suchstrings zu erleichtern.

In der Ausgabe wird der Suchbegriff dann mit <span class="HIGHLIGHTCLASS">BEGRIFF</span> hervorgehoben.

Innerhalb von html-Tags findet - sofern der reg. Ausdruck alles abdeckt - keine Ersetzung statt, so dass Links nicht zerstört werden.

Das ganze ist nicht casesensitiv.

Werden keine Suchbegriffe übergeben, dann gibt der Tag einfach die Ausgabe von <we:var> aus.

Parameter:
wie we:var aber zusätzlich:

highlight
Eingabe: hervorzuhebende Begriffe
Default: leer

highlightClass
Eingabe: beliebiger Text
default: leer

Beispiel:

Code: Alles auswählen

<we:ifEditmode>
  <we:textarea name="meinText" wysiwyg="true" xml="true" />
<we:else />
  <we:setvar to="global" nameto="highlight" from="request" namefrom="highlight" />
  <we:highlightVar name="meinText" highlight="$highlight" highlightClass="highlight" />
</we:ifEditmode>
In der ZIP-Datei sind die benötigten Dateien enthalten.
Der Einsatz ist wie immer ohne Gewähr.

Als nächstes ist dann <we:highlightField> nach dem gleichen Muster geplant.

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » So 10. Sep 2006, 11:22

Hey Thomas,
du bist doch der Beste!!!
Danke für deine neuen Tags, freut mich immer wieder.

@we-Support, bitte richtet doch im Forum einen Bereich ein in dem man die Erweiterungs-Tags sammeln kann und vielleicht auch weiterentwickeln. So sind sie auch für Leute verfügbar die hier nicht pausenlos mit lesen.

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

ThomasGoebe

Beitragvon ThomasGoebe » Mo 11. Sep 2006, 11:09

Hallo Elko!

Danke für die Blumen ;)
Ich bemühe mich.

@we-support: Eine zentrale Anlaufstelle für die customTags fände ich auch sehr sinnvoll! So kann jeder die Tags weiterentwickeln.
Alternativ einen Bereich auf support.webEdition.de, also ausserhalb des Forums.

@all:
Anbei <we:highlightfield>

Der Tag erweitert we:field um die o.a. Highlightmöglichkeiten. Die zusätzlichen Paramter entsprechen <we:highlightVar>.

Auch dies ohne Gewähr. Bitte mal ausprobieren und bei Fehlern einfach melden.

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon Michael D. » Do 22. Apr 2010, 11:46

wo finde ich denn die jeweiligen zip dateien?
_____________________________________________
Grüße
Michael


Zurück zu „Basisversion“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste