Contao-Camp 2024
Ergebnis 1 bis 6 von 6

Thema: Echtzeitsuche entwickeln

  1. #1
    Contao-Nutzer
    Registriert seit
    30.07.2015.
    Beiträge
    140

    Standard Echtzeitsuche entwickeln

    Hat jmd von euch eine Echtzeitsuche realisiert ?

    Oder einen Ansatz, wie ihr das realisieren würdet ?

    Ich finde die Suche unter https://rocksolidthemes.com/de/contao-themes ziemlich gelungen!

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich kenne ja jetzt deinen Wissensstand nicht, aber du kannst mal nach "autocomplete" suchen.

    Ansonsten ist das meistens ne Serveranfrage per Javascript. Ein sogenannter XMLHttpRequest. Der wird bei jedem Tastenanschlag ausgeführt und ruft dabei auf dem Server ne PHP-Datei auf, welche die DB nach Übereinstimmungen durchsucht und Ergebnisse zurückliefert. (Unglaublich, wie schnell sowas geht, wenn man bedenkt, was da alles bei jedem Anschlag abläuft). Umgangssprachlich wird das auch Ajax genannt.

    Wenn man bei Contao mit Ajax arbeitet ist das nicht ganz so einfach, wie es normalerweise sein könnte. Als performante Alternative, wenn da nicht zu viele Werte sind, kann man auch z.B. ein JS-Array in das HTML-Markup bringen.
    HTML-Code:
    <script>
    var myValues = [
      'foo',
      'bar',
      'doodle',
      'poodle'
    ];
    </script>
    Das kann man ja einfach in z.B. einem j_template erledigen. Und dann überwacht man mit JS die Tastenanschläge und reagiert darauf. Also ein Script dazu programmieren, was dann bei "keyup" gemacht werden soll.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer Avatar von marebe
    Registriert seit
    01.04.2015.
    Ort
    Schwäbisch Gmünd
    Beiträge
    153
    Partner-ID
    10745

    Standard

    Find ich auch gut bei Rocksolid. Die Seite ist aber anscheinend nicht mit Contao gemacht (?!).

    Ich muss genau sowas auch lösen und für ein JS-Array werden es zu viele Werte sein.
    Ein "schmutziger Trick" für Leute, die keine Symfony cracks sind wäre, eine eigene PHP-Datei anlegen, die selbst eine Datenbankverbindung abseits des Contao Frameworks aufbaut und als Ziel für Ajax-Requests dient. Schwierig wirds halt, wenn Templates gerendert werden müssten, aber bei Sucheinträgen braucht man das ja nicht - da gehts ja nur um reinen Text.
    Vorteil wäre, dass gerade bei so vielen, schnell aufeinander folgenden Requests und DB-Abfragen nicht jedesmal das ganze Framework geladen werden muss. Da würde dann wirklich nur das auf dem Server ablaufen, das notwendig ist (ziemlich selten heutzutage).
    So werd ichs wahrscheinlich auch machen.

  4. #4
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Hallo,

    hast du vielleicht eine Lösung, die du uns hier empfehlen kannst?

  5. #5
    Contao-Nutzer Avatar von marebe
    Registriert seit
    01.04.2015.
    Ort
    Schwäbisch Gmünd
    Beiträge
    153
    Partner-ID
    10745

    Standard

    Ich hab mir unter /web/ajax ein php-script angelegt, das Vorschläge auf Basis der Eingabe ermittelt und die werden mit JQueryUi autocomplete eingeblendet.
    Also die schmutzige Lösung aber es funktioniert und ist schnell.

  6. #6
    Contao-Nutzer
    Registriert seit
    11.03.2019.
    Beiträge
    7

    Standard

    hab sowas hier: forum-a.ch umgesetzt, damals als hack, aber bin grad dran das auf einen AJAX-Call unter Contao 4.9 umzuschrieben mit dem CustomizeSearchListener Hook.
    Findet sogar Bilder wenn man z.B. nach 'Küche' sucht, ist jetzt auch noch schneller weil's so auch auf gecachte Suchergebnisse zurückgreifen kann; bei Interesse...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •