Suchfunktion integrieren: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Suchfunktion in eine Website integrieren)
(Ergänzung 5.12.12:: Link angepasst)
 
(14 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
== Suchfunktion in eine Website integrieren ==
 
== Suchfunktion in eine Website integrieren ==
  
Sie möchten z.B. in der Kopfzeile eine Suchfunktion verwenden und die Ausgabe der Suchergebnisse in der Hauptspalte ausgeben?
+
Die Suchfunktion soll im Kopfbereich platziert und die Ausgabe der Suchergebnisse in der Hauptspalte ausgeben werden?
  
1. Erstellen Sie zunächst ein Modul vom Typ '''Suchmaschine'''.
+
# Zunächst wird ein Modul vom Typ '''Suchmaschine''' erstellt.
''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Suchmaschine)''
+
#:''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Suchmaschine)''
 +
# Das Modul '''Suchmaschine''' wird in einen Artikel eingefügt. Dazu wird zuerst eine neue Seite in der Seitenstruktur angelegt, z.B. ''Suche'' und unter den Experteneinstellungen die Option '''Im Menü verstecken''' angeklickt sowie die Option ''Veröffentlichung der Seite'' ausgewählt.
 +
#:''(Inhalt > Artikel > Artikel bearbeiten > Neues Inhaltselement > Elementtyp = Modul > Suchmaschine)''
 +
# Mit dem Formulargenerator wird ein einfaches Formular, z.B. Sucheingabe benannt, mit einem Textfeld und einem Absendebutton erstellt. ''(Inhalt > Formulargenerator > Neues Formular)''
 +
#* Im Formularkopf wird unter der Rubrik '''Experten-Einstellungen''' im Feld '''Formular-ID''' der Wert ''tl_search'' eingegeben und als '''Übertragungsmethode''' ''GET'' gewählt.
 +
#* Als Weiterleitungsseite wird die Seite (z.B. Suche) ausgewählt, die das Modul Suchmaschine beinhaltet und die Suchergebnisse anzeigt.
 +
#* Der Feldnamen für das Textfeld wird ''keywords'' benannt.
 +
# Für das Formular wird ein Modul (z.B. Sucheingabe benannt) erstellt, um es z.B. im Kopfbereich (#header) ausgeben zu können.
 +
#:''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Form > das Formular auswählen.)''
 +
# Das Modul Sucheingabe wird nun im Seitenlayout eingefügt und diesem Modul der Ausgabebereich zugewiesen; z.B. Kopfzeile (#header).
 +
#:''(Layout > Themes > Seitenlayout > Seitenlayout bearbeiten)''
  
2. Fügen Sie das Modul '''Suchmaschine''' in einen Artikel ein. Lege Sie dazu zuerst eine neue Seite in der Seitenstruktur an, z.B. ''Suche'' und aktivieren unter den Experteneinstellungen die Option '''Im Menü verstecken''' und veröffentlichen die Seite.
+
Somit kann die Sucheingabe in der Kopfzeile platziert und die Suchergebnisse in der Hauptspalte ausgeben werden.
''(Inhalt > Artikel > Artikel bearbeiten > Neues Inhaltselement > Elementtyp = Modul > Suchmaschine)''
+
  
3. Erstellen Sie mit dem Formulargenerator ein einfaches Formular mit einem Textfeld und einem Absendebutton.
+
==Ergänzung 5.12.12:==
''(Inhalt > Formulargenerator > Neues Formular)''
+
Für den Einsatz bei neueren Contao-Versionen wurde ein Bug behoben, so das nun das Auswählen einer Weiterleitungsseite nicht mehr wie oben beschrieben zum gewünschten Ergebnis führt.
Benennen Sie das Formular z.B. '''Sucheingabe'''.
+
Wie es besser geht hat Peter Müller auf seinem Blog beschrieben:
  
* Geben Sie im Formularkopf unter der Rubrik '''Experten-Einstellungen''' im Feld '''Formular-ID''' ''tl_search'' ein.
+
http://contaobuch.de/magazin/articles/kapitel-12-suchfunktion.html
* Wählen Sie als Weiterleitungsseite die Seite (z.B. Suche) aus, die das Modul Suchmaschine beinhaltet und die Suchergebnisse anzeigt.
+
* Benennen Sie den Feldnamen für das Textfeld ''keywords''.
+
  
4. Erstellen Sie für das Formular ein Modul (z.B. Sucheingabe), um es z.B. im Kopfbereich (#header) ausgeben zu können.
+
----
''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Form > das Formular auswählen.)''
+
--[[Benutzer:Planepix|Planepix]] 23:01, 4. Jul. 2010 (CEST) – Übersetzt und angepasst nach einem Tutorial von Ben Robinson.
  
5. Fügen Sie nun das Modul Sucheingabe im Seitenlayout ein und weisen diesem Modul den Ausgabebereich zu; z.B. Kopfzeile (#header).
+
== SEO Maßnahme: Suchergebnisse in Datenbank speichern ==
''(Layout > Themes > Seitenlayout > Seitenlayout bearbeiten)''
+
  
Somit können Sie die Sucheingabe in der Kopfzeile platzieren und die Suchergebnisse in der Hauptspalte ausgeben.
+
Oft ist es für Onpage Optimierungen sinnvoll, wenn man weiß was/wann die Besucher (et)was in den Suchschlitz schreiben. Hierzu habe ich mir folgendermaßen beholfen:
 +
 
 +
# Neue Tabelle mit Zwei Spalten in Datenbank hinzugefügt (ohne tl_ Präfix).<br />
 +
# Spalte 1 mit dem Namen "date" und dem Typ "date", Spalte 2 mit dem Namen "keywords"und dem Typ "tinytext".<br />
 +
# Das Formular mit dem Suchfeld bearbeiten.<br />
 +
# Übertragungsmethode "POST" wählen, sonst wird nichts gespeichert.
 +
# Den Formularheader bearbeiten und unter: "Formulardaten speichern", "Eingaben speichern" wählen und die neue Zieltabelle wählen.<br />
 +
# Verstecktes Feld vor dem Suchfeld einfügen mit dem Feldnamen "date" und dem Standardwert <nowiki>{{date::Y-m-d}}</nowiki>.
 +
 
 +
Nach dem Speichern werden sämtliche Suchanfragen des Suchfeldes im Header in die Datenbanktabelle geschrieben. Diese ließen sich z.B. auch in einem geschützten Bereich wieder ausgeben.
  
 
----
 
----
--[[Benutzer:Planepix|Planepix]] 20:47, 4. Jul. 2010 (CEST) – Übersetzt und angepasst nach einem Tutorial von Ben Robinson.
+
 
 +
[[Benutzer:carino|carino]] 15:08, 14. Jul. 2010 (CEST)

Aktuelle Version vom 9. Dezember 2015, 15:12 Uhr


betrifft
TYPOlight Version ab 2.6
Contao Version ab 2.9

Suchfunktion in eine Website integrieren

Die Suchfunktion soll im Kopfbereich platziert und die Ausgabe der Suchergebnisse in der Hauptspalte ausgeben werden?

  1. Zunächst wird ein Modul vom Typ Suchmaschine erstellt.
    (Layout > Themes > Module > Neues Modul erstellen > Modultyp = Suchmaschine)
  2. Das Modul Suchmaschine wird in einen Artikel eingefügt. Dazu wird zuerst eine neue Seite in der Seitenstruktur angelegt, z.B. Suche und unter den Experteneinstellungen die Option Im Menü verstecken angeklickt sowie die Option Veröffentlichung der Seite ausgewählt.
    (Inhalt > Artikel > Artikel bearbeiten > Neues Inhaltselement > Elementtyp = Modul > Suchmaschine)
  3. Mit dem Formulargenerator wird ein einfaches Formular, z.B. Sucheingabe benannt, mit einem Textfeld und einem Absendebutton erstellt. (Inhalt > Formulargenerator > Neues Formular)
    • Im Formularkopf wird unter der Rubrik Experten-Einstellungen im Feld Formular-ID der Wert tl_search eingegeben und als Übertragungsmethode GET gewählt.
    • Als Weiterleitungsseite wird die Seite (z.B. Suche) ausgewählt, die das Modul Suchmaschine beinhaltet und die Suchergebnisse anzeigt.
    • Der Feldnamen für das Textfeld wird keywords benannt.
  4. Für das Formular wird ein Modul (z.B. Sucheingabe benannt) erstellt, um es z.B. im Kopfbereich (#header) ausgeben zu können.
    (Layout > Themes > Module > Neues Modul erstellen > Modultyp = Form > das Formular auswählen.)
  5. Das Modul Sucheingabe wird nun im Seitenlayout eingefügt und diesem Modul der Ausgabebereich zugewiesen; z.B. Kopfzeile (#header).
    (Layout > Themes > Seitenlayout > Seitenlayout bearbeiten)

Somit kann die Sucheingabe in der Kopfzeile platziert und die Suchergebnisse in der Hauptspalte ausgeben werden.

Ergänzung 5.12.12:

Für den Einsatz bei neueren Contao-Versionen wurde ein Bug behoben, so das nun das Auswählen einer Weiterleitungsseite nicht mehr wie oben beschrieben zum gewünschten Ergebnis führt. Wie es besser geht hat Peter Müller auf seinem Blog beschrieben:

http://contaobuch.de/magazin/articles/kapitel-12-suchfunktion.html


--Planepix 23:01, 4. Jul. 2010 (CEST) – Übersetzt und angepasst nach einem Tutorial von Ben Robinson.

SEO Maßnahme: Suchergebnisse in Datenbank speichern

Oft ist es für Onpage Optimierungen sinnvoll, wenn man weiß was/wann die Besucher (et)was in den Suchschlitz schreiben. Hierzu habe ich mir folgendermaßen beholfen:

  1. Neue Tabelle mit Zwei Spalten in Datenbank hinzugefügt (ohne tl_ Präfix).
  2. Spalte 1 mit dem Namen "date" und dem Typ "date", Spalte 2 mit dem Namen "keywords"und dem Typ "tinytext".
  3. Das Formular mit dem Suchfeld bearbeiten.
  4. Übertragungsmethode "POST" wählen, sonst wird nichts gespeichert.
  5. Den Formularheader bearbeiten und unter: "Formulardaten speichern", "Eingaben speichern" wählen und die neue Zieltabelle wählen.
  6. Verstecktes Feld vor dem Suchfeld einfügen mit dem Feldnamen "date" und dem Standardwert {{date::Y-m-d}}.

Nach dem Speichern werden sämtliche Suchanfragen des Suchfeldes im Header in die Datenbanktabelle geschrieben. Diese ließen sich z.B. auch in einem geschützten Bereich wieder ausgeben.


carino 15:08, 14. Jul. 2010 (CEST)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Programmierer brauchen viel Bit, auch wenn es Beck's ist.

Christian Schiffler
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge