Stichwortsuche einrichten
Wozu eine Stichwortsuche?
Mit Hilfe einer Stichwortsuche können Besucher der Website schneller die Informationen auf Ihrer Website finden, nach denen sie suchen.
Vorraussetzungen
Das hier beschriebene Tutorial setzt die Verwendung von Contex 3.0 oder besser voraus. Die weiter unten eingesetzten Skripts basieren auf der PHP Technologie. Wir stellen Ihnen eine Variante für PHP 4 und eine für PHP 5 zur Verfügung. Bitte stellen Sie sicher welche PHP Version von Ihrem Webserver unterstützt wird bevor Sie dieses Skript verwenden. Und mischen sie den PHP Code nicht mit anderen Sprachen in derselben Datei.
Die Suchfunktion ist standardmässig für die deutsche Sprache ausgelegt. Andere sprachen benötigen entsprechende Anpassungen im Textoutput.
Wie wird eine Stichwortsuche eingebaut?
CONTEX beschleunigt die Suche durch Ihre Website mit Hilfe einer Indexdatei die es selbst befüllt. Die Indexdatei wird im XML-Format angelegt. Damit Sie die Suchseite frei positionieren können muss diese Datei im Ressourcenmanager verwaltet werden.
So legen sie einen Suchindex an:
-
Erstellen Sie an beliebiger Stelle eine neue Text-Datei und nennen Sie diese frei nach Ihren wünschen. Wir empfehlen Ihnen die Dateiendung .xml zu verwenden, da es sich bei dem Inhalt ja um eine xml-Datei handeln wird.
-
Lesen Sie die Datei in den Ressourcenmanager ein. Merken Sie sich beim einlesen die Ressourcen-ID der Indexdatei. Sie finden die ID in der oberen linken Ecke des Ressourceneigenschafts-Menüs. Sie werden diese ID zu einem späteren Zeitpunkt nochmals benötigen.

-
Öffnen Sie die Web Eigenschaften (Datei > Web Eigenschaften...) und wechseln Sie auf die Registerkarte "Generator".
-
Markieren Sie das Häkchen "XML Datei, welche für die Suche verwendet werden kann erstellen." an und geben Sie beim Dateinamen die neu eingelesene xml-Datei an.
Entspricht die Ansicht der Registerkarte "Generator" ungefähr dem oben gezeigten Bild, wird Ihre Indexierungsdatei nun korrekt während dem Generierungsvorgang mit Daten befüllt.
So binden Sie die Suche in Ihre Website ein:
Damit Ihre Websitebesucher die Suchfunktion nutzen können müssen Sie Ihnen natürlich eine entsprechende Seite zur Verfügung stellen. Anhand folgender Anleitung können Sie eine Suche einbauen.
-
Erstellen Sie eine neue Seite. Achten Sie bei der Erstellung darauf, dass die Dateinamen mit ".php" enden. Sollten Sie auch ein Quicksearch - Formular realisieren wollen, merken Sie sich bitte die ID der Seite (oben links im Eigenschaftsfenster ab zu lesen).
-
Erstellen Sie einen neuen Textinhalt. Geben Sie in der Registerkarte "Optionen" an, dass es sich um einen Skriptinhalt handelt.
-
Kopieren Sie den Quellcode aus eine der Untenstehenden Formularboxen (Achten Sie hierbei darauf ob auf Ihrem Webserver PHP 4 oder PHP 5 verwendet wird.)
PHP 4
PHP 5
Sie können selbstverständlich Modifikationen an diesem Skript vornehmen oder es als Vorlage verwenden um ein ähnliches Skript in einer anderen Programmiersprache um zu setzen.
Wir können Ihnen aber leider keinen Support für modifizierte Versionen des Skriptes erbringen.
-
Konfigurieren Sie das Skript;
In den ersten Zeilen des Skriptes finden Sie eine Vielzahl von Möglichkeiten Ihre suche individuell nach Ihren Bedürfnissen an zu passen. Der wichtigste dieser Punkte ist "$settings['datafile'] = '../../../../../../../../../';". Hier wird nach dem Generieren dem Skript mitgegeben wo es die Indexdatei findet. Die Zahl 3 steht hierbei für die Ressourcen ID der Index Datei, welche Sie sich in einem der vorhergehenden Schritte merken mussten und jetzt statt der 3 einsetzen müssen. Sollte die ID mehr stellig sein möchten wir sie daran erinnern, dass vor der Zahl weiterhin ein "-" stehen muss. Dieses Zeichen ist kein Platzhalter.
Hier eine Liste der einstellbaren Optionen: (Geändert wird immer der Wert innerhalb der '' rechts vom Gleichheitszeichen.)
Optionen
Beschreibung $settings['debug'] = '0'; Werte: 0/1
Bestimmt ob Debugging Informationen ausgegeben werden sollen.
$settings['datafile'] = '../../../../../../../../../'; Werte: #{RES-n}
Bestimmt welche Ressource als Index-Datei geladen wird.
$settings['language'] = 'de'; Werte: de de, en, fr usw.
Mit Hilfe des Language-Wertes bestimmt die Suche welche Seiten Sie in der Index-Datei abfragen. Mit dem wert "de" befüllt CONTEX diesen wert bei der Generierung der Seite.
$settings['pathtoroot'] = '../../../'.'/'; Werte: '../../../'.'/'; (diverse Verzeichnispfade)
Dieser wert muss nur angepasst werden, wenn das Contex Projekt nicht im HTML-Root des Webservers abgelegt wird.
$settings['epp'] = 20; Werte: [natürliche ganze Zahlen]
Bestimmt wie viele gefundene Seiten auf einer Seite angezeigt werden sollen.
$settings['mls'] = 2; Werte: [natürliche ganze Zahlen]
Bestimmt wie viele Zeichen lang der Suchbegriff mindestens sein muss um eine Suche durch zu führen.
$settings['mlst'] = '<p>Der von Ihnen eingegebene Suchtext sollte mindestens %s Zeichen lang sein.</p>'
Werte: HTML-Code mit Variabel-Platzhaltern
Bestimmt den Text der Fehlermeldung die ausgegeben wird wenn ein Suchbegriff zu kurz war. %s dient als Platzhalter für $settings['mls'] = 2; bei der Fehlerausgabe.
$settings['title'] = '<H1>Suchen</h1>'; Werte: HTML Code
Der Titel der oberhalb der Suchfunktion erscheint. Man kann diesen Wert leer lassen, wenn man auf der Inhaltsmarke noch ausführlichere andere Informationen ausgeben will.
$settings['infotext'] = '<p>Durchsuchen Sie unsere Website mit Hilfe von oxSearch!</p>';
Werte: HTML Code
Der Standard Text welcher ausgegeben wird, wenn kein Suchbegriff eingegeben wurde.
$settings['summtext'] = '<p>Sie haben nach \'%s\' gesucht und "%s" Resultat(e) erhalten.</p>'; Werte: HTML-Code mit Variabel-Platzhaltern
Bestimmt den Text der Zusammenfassung die ausgegeben wird wenn die Suche erfolgreich war. Das erste %s dient als Platzhalter für den Suchbegriff, das zweite %s für die Anzahl der gefundenen Resultate.
-
Design des Outputs festlegen;
Kopieren Sie untenstehenden CSS-Code und fügen Sie Ihn in die Stylesheet Datei Ihres Templates ein. Das Thema CSS Design ist zu umfangreich um es auf dieser Website ordnungsgemäss zu behandeln. Sollten Sie Fragen bezl. CSS-Design haben müssen wir Sie bitten sich dieses Wissen selbst an zu eignen.
Somit wäre die Suche eigentlich komplett eingebaut. Viele unserer Kunden haben allerdings auch nach einen Weg gefragt das Suchformular direkt im Template zu verankern, so dass es von jeder Seite aus zugänglich ist.
Quicksearch einbauen
Ein Quicksearch ein zu bauen ist relativ simpel sofern Sie schon da nötige Wissen über die Seitenvorlagen-Bearbeitung besitzen.
-
Bauen Sie einen Quicklink in das Template ein und erstellen Sie einen Textinhalt vom Typ Skriptinhalt mit dem zum Quicklink passenden Namen.
-
Erstellen Sie ein Formular nach Ihren Wünschen (normalerweise bestehend aus Textfeld und Senden-Knopf).
-
Achten Sie darauf, dass der Name des Textfeldes in den der Suchbegriff eingefügt wird "searchString" lautet.
-
Setzen Sie das Attribut "action" des Elementes "form" auf folgenden Wert: (PAG-x:LNG-0) wobei X der Seiten-ID entspricht und LNG-0 dafür sorgt, dass CONTEXT automatisch die richtige Sprache verwendet. Beispiel:
-
Speichern die das Formular.

