Suchfunktion integrieren: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Suchfunktion in eine Website integrieren)
(Ergänzung 5.12.12:: Link angepasst)
 
(21 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{stub}}
 
 
[[Category:Admin HOWTOS]]
 
[[Category:Admin HOWTOS]]
 +
{{AppliesTo|TLVersion=ab 2.6|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?
  
== Suchfunktion in eine Website integrieren ==
+
# Zunächst wird ein Modul vom Typ '''Suchmaschine''' erstellt.
 +
#:''(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)''
 +
 
 +
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:
  
1. Erstellen Sie zunächst ein Modul vom Typ '''Suchmaschine'''.
+
http://contaobuch.de/magazin/articles/kapitel-12-suchfunktion.html
''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Suchmaschine)''
+
  
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
+
--[[Benutzer:Planepix|Planepix]] 23:01, 4. Jul. 2010 (CEST) – Übersetzt und angepasst nach einem Tutorial von Ben Robinson.
'''Im Menü verstecken''' und veröffentlichen die Seite.
+
''(Inhalt > Artikel > Artikel bearbeiten > Neues Inhaltselement > Elementtyp = Modul > Suchmaschine)''
+
  
3. Erstellen Sie mit dem Formulargenerator ein einfaches Formular mit einem Textfeld und einem Absendebutton.
+
== SEO Maßnahme: Suchergebnisse in Datenbank speichern ==
''(Inhalt > Formulargenerator > Neues Formular)''
+
Benennen Sie das Formular z.B. '''Sucheingabe'''.
+
  
* Geben Sie im Formularkopf im Feld '''Formular-ID''' ''tl_search'' ein.
+
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:
* 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.
+
# Neue Tabelle mit Zwei Spalten in Datenbank hinzugefügt (ohne tl_ Präfix).<br />
''(Layout > Themes > Module > Neues Modul erstellen > Modultyp = Form > das Formular auswählen.)''
+
# 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>.
  
5. Fügen Sie nun das Modul Sucheingabe im Seitenlayout ein und weisen diesem Modul die Ausgabe zu; z.B. Kopfzeile (#header).
+
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.
''(Layout > Themes > Seitenlayout > Seitenlayout bearbeiten)''
+
  
Somit können Sie die Sucheingabe in der Kopfzeile platzieren und die Suchergebnisse in der Hauptspalte ausgeben.
+
----
  
--[[Benutzer:Planepix|Planepix]] 20:17, 4. Jul. 2010 (CEST)
+
[[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

<Kellner> und einmal Filet?
<backbone87> Nein Olli, nicht Philip!

Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge