Einleitung
Das Modul stellt eine Suchfunktion dar.  Die Ergebnisse werden in einer Baumstruktur ähnlich wie Sitemap ausgegeben. Die Konfiguration ist dementsprechend sehr ähnlich.

Konfiguration
In der Datei search.ini wird das Aussehen des Ergebnisbaums bestimmt.

[icon]
Die Grafiken, die als Symbole vor den Ebenen ausgegeben werden, sind im Abschnitt [icon] angegeben.
[icon]
level_0=../sysimg/typen/home.gif
level_1=../sysimg/typen/ebene1.gif
level_2=../sysimg/typen/ebene2.gif
level_3=../sysimg/typen/ebene3.gif
level_4=../sysimg/typen/ebene4.gif
level_5=../sysimg/typen/ebene4.gif
level_6=../sysimg/typen/ebene4.gif
level_7=../sysimg/typen/ebene4.gif
In diesem Beispiel hat die Sitemap acht Ebenen, inklusive der obersten Ebene, auf der sich normalerweise nur die Startseite/Homepage befindet. Jede Ebene hat ihre eigene Grafik.

[design]
In der Sektion [design] wird das Design der Sitemap angegeben.
[design]
linetype=2
width=30%

linetype gibt die Art der Baumlinien an. Erlaubt sind Werte von 0 bis 11:
0 : Keine (Hintergrund Weiß, falls GIFs nicht korrekt transparent dargestellt werden)
1 : Keine (Hintergrund Schwarz, falls GIFs nicht korrekt transparent dargestellt werden)
2 : Gepunktet Schwarz
3 : Durchgezogen Schwarz
4 : Gepunktet Dunkelgrau
5 : Durchgezogen Dunkelgrau
6 : Gepunktet Mittelgrau
7 : Durchgezogen Mittelgrau
8 : Gepunktet Hellgrau
9 : Durchgezogen Hellgrau
10 : Gepunktet Weiß
11 : Durchgezogen Weiß

width
ist die Breite des angezeigten Baums in Prozenten von 0 bis 100%.

[info]
In der Sektion [info] werden die folgenden Parameter angegeben:
[info]
main=<a href="../text/module/search.html">{name}</a>
extra_1=Arzt
extra_2=Apotheker
extra_3=Presse
extra_4=Hit

main gibt den HTML-Code des Punktes an. Hier können Platzhalter für die aktuelle Seite verwendet werden:
{position} - die Position der Seite
{name} - der Name der Seite
{link} - Url, um die Seite anzuzeigen

extra_X gibt zusätzliche Informationen an, die ausgegeben werden sollen. Dabei sind drei verschiedene Informationen möglich:
1. Der Wert gibt einen Feldbezeichner der Datenbank an, auf der die Seiten basieren. Dann wird der entsprechende Wert angezeigt. Beispiel: extra_1=Titel
2. Der Wert bezeichnet eine Rechtegruppe. Dann wird das in cms.ini angegebene Symbol dargestellt. Beispiel: extra_1=Arzt
3. Hit. Hier wird die Trefferwahrscheinlichkeit (Relevanz) in Prozent angegeben. Wie diese genau dargestellt wird ist in der Sektion [hits] angegeben.

[hits]
[hits]
hit_0=-
hit_1=*{%}%
hit_10=*{%}%
hit_20=*{%}%
hit_30=*{%}%
hit_40=*{%}%
hit_50=*{%}%
hit_60=*{%}%
hit_70=**{%}%
hit_80=***{%}%
hit_90=****{%}%
hit_100=*****{%}%

Falls der Relevanzwert 0% ist wird hit_0 ausgegeben, bei 1-9% hit_1, bei 10-19% hit_10, bei 20-29% hit_20 usw.. Bei 100% schließlich hit_100. {%} wird dabei gegen den Prozentwert getauscht. Ist die Trefferrelevanz z.B. 74% wird **74% ausgegeben.
Dabei sind auch HMTL-Tags erlaubt. Damit kann z.B. bei hoher Relevanz das Ergebnis farbig dargestellt oder auch eine Grafik angezeigt werden. Beispiel: hit_90=<font color="#ff0000">*{%}*</font> oder hit_100=<img src="../images/tophit.gif">.

Tip:

Zur besseren Darstellung der Suchtreffer empfiehlt sich eine Formatierung. Das kann am besten mit CSS erreicht werden. Zusätzlich ist eine Angabe der Spaltenbreite sinnvoll. Beispiel:

[hits]
hit_0=<span style="width:50pt">-</span>
hit_1=<span style="width:50pt">{%}%</span>
hit_10=<span style="width:50pt">{%}%</span>
hit_20=<span style="width:50pt">{%}%</span>
hit_30=<span style="width:50pt">{%}%</span>
hit_40=<span style="width:50pt">{%}%</span>
hit_50=<span style="width:50pt">{%}%</span>
hit_60=<span style="width:50pt">{%}%</span>
hit_70=<span style="width:50pt" class="fett">{%}%</span>
hit_80=<span style="width:50pt" class="blau">{%}%</span>
hit_90=<span style="width:50pt" class="rot">{%}%</span>
hit_100=<span style="width:50pt" class="rot">* {%}% *</span>
Dieses Beispiel setzt die Definition der Klassen fett, blau und rot voraus.

[options]
[options]
strip=0
Nur bei mehrsprachigen Systemen: Falls strip=0, und eine Seite ist in der gewählten Sprache nicht verfügbar, wird sie die Seite in der Default-Sprache angezeigt. Bei strip=1 werden nur Seiten in der gewählten Sprache ausgegeben. Ist eine Seite in dieser nicht verfügbar, wird sie unterdrückt.

Templates
search/form
<form method="post" action="{link}">
Suchen nach <input type="text" name="search" value="{search}">
<input type="submit" name="OK" value="OK"><br>
</form>
{hits}

Stellt das Suchformular dar. {link} wird durch die passende URL ersetzt. Die Suchanfrage wird in {search} wiederholt. Anstelle von {hits} werden die Treffer bzw. der Hinweis auf keine Treffer ausgegeben.

search/small

<form method="post" action='{link="pos:8.2"}'>
<input type="text" size="7" name="search" value="{search}"><input type="submit" value="Suchen" name="OK">
</form>

Damit kann ein Suchfeld z.B. auf jede Seite aufgenommen werden. Üblicherweise findet sich in Nähe des Menüs ein einfaches Eingabefeld. Gibt der Anwender dort einen Suchbegriff ein und klickt auf den Schalter, landet er automatisch auf einer Sucheseite.
Empfehlenswert bei dieser Art der Suchanfrage ist eine Seite einzurichten, auf der die normale Suche eingebunden wird. Im small-Formular wird dann auf diese Seite verwiesen, sollen doch schließlich die Such-Ergebnisse nicht mitten auf einer anderen Seite angezeigt werden. Im obigen Beispiel ist die Suchseite mit {link="pos:8.2"} angegeben. Als Platzhalter in search/small ist {search} erlaubt. Hier wird die vorherige Anfrage wiederholt.

search/no_hit

<big><b>Keine Treffer.</b></big><br>
Bitte versuchen Sie es mit geändertem Suchbegriff nochmal.

Das Template wird ausgegeben wenn keinerlei Treffer gefunden wurden.

search/hit

Es wurden Seiten entsprechend Ihrer Suchanfrage gefunden.<br>
Der beste Treffer hat eine Relevanz von {%}%<br>
{hits}

Dieses Template wird ausgegeben, wenn Treffer gefunden wurden. Der Platzhalter {%} wird durch die höchste Relevanz ersetzt, und anstelle des Platzhalters {hits} wird die Baumstruktur mit den Treffern ausgegeben.


Aufruf
Der Aufruf des Moduls erfolgt mit: {execmacro="search"} oder {execmacro="search" param="small"} (dann wird mit search/small gearbeitet).

Hinweis
Der Modul zeigt nur Seiten, die auch im Menü sichtbar sind.

eforia® web manager Dokumentation
Stand V 3.01 / 20.12.2010
© Horst Klier
http://www.klier.net
Impressum