Die Suche

Die Suche stellt eine zentrale Maske für das Durchsuchen Ihrer Objekte zur Verfügung. Sie enthält automatisch auch die Objektseite und die nachfolgenden Unterseiten für Buchungen und Anfragen, diese Elemente werden bei Bedarf jeweils ohne weitere Konfiguration nachgeladen. Natürlich können Sie diese Elemente jedoch auch einzeln einbinden, lesen Sie dazu die jeweiligen Abschnitte der betroffenen Elemente.

Die Auswahl an Objekttypen, Ausstattungsmerkmalen, Ländern und Städten (sofern jeweils vorhanden) passt sich automatisch Ihren Inhalten an. Elemente die etwa nur eine einzelne Auswahl zulassen würden, werden sofern möglich ausgeblendet.

Die im Filterelement untergebrachten Tabs können durch unseren Support einzeln deaktiviert und aktiviert werden (bis auf Ausstattung, dessen Inhalt ist jedoch wählbar).

Suchwidget

Verfügbare Filter

Die nachfolgenden Filterelemente sind bei Maximalausstattung anzeigbar.

Die angezeigten Elemente werden praktisch alle serverseitig durch unseren Support konfiguriert. Kontaktieren Sie uns, wenn Sie Elemente aus der Liste hinzufügen oder entfernen möchten, für einige Elemente ist dies möglich.

Filter Abschnitt/Typ zusätzliche Beschreibung
Reisedaten inkl. Nächteauswahl Widget erlaubt die Auswahl an Anreise, Abreise und der Anzahl der gewünschten Übernachtungen
Personenanzahl Widget erlaubt die Auswahl der Anzahl der Erwachsenen, der Kinder und die Angabe des Alters der Kinder in Jahren
Objekttypen Filtertab bietet eine Auswahl an Objekttypen zur Filterung an
Ausstattungsmerkmale Filtertab erlaubt die Vorauswahl einiger Ausstattungsmerkmale als Filter
Urlaubsthemen Filtertab genau wie Ausstattungsmerkmale erlaubt diese Auswahl die Filterung auf Urlaubsthemen
Bettenanzahl Filtertab Auswahl einer bestimmten Mindestanzahl von Betten
Klassifizierungen Filtertab erlaubt die Auswahl von DTV/DEHOGA Sternen
Stadt/Ort erweiterte Optionen bietet eine Städte-/Ortsliste zur Auswahl an
Land erweiterte Optionen ermöglicht die Auswahl eines Landes (wenn vorhanden mit dem Stadt/Ort Element gekoppelt)
Stichwortsuche erweiterte Optionen erlaubt das Durchsuchen bestimmter Objektdaten mit einem Freitext
Lastminute erweiterte Optionen filtert auf Objekte mit aktiven oder zukünftigen Lastminute Angeboten
Onlinebuchbarkeit extra Element erlaubt eine Filterung auf nur online buchbare Objekte oder alle, wird dynamisch entfernt, wenn Auswahl sinnlos werden würde
Sortierung extra Element erlaubt dem Nutzer die Ergebnisliste zu sortieren (siehe auch initiale Sortierung)

Einbindung

Für die Einbindung des Widgets muss der OP Client geladen sein (siehe Installation).

Der Elementname für die Einbindung des Widgets lautet op-frontend-suche.

    <div id="op_content_box">
        <script type="text/javascript">

            // diese Werte können/müssen angepasst werden:
            var loadOptions = {
              module: 'op-frontend-suche', // Name des zu ladenden Moduls
              content_id: 'op_content_box', // ID des HTML Elements, in das der Inhalt geladen wird
              options: {
                    //useCookies: true,
                    //hasOwnCookieInfo: false,
                    //languageSwitcherEnabled: true,
                    //scrollTopOffset: 10,
                    //scrollToTop: true,
                    //alwaysShowExtendedFilters: true,
                    //enableShare: false,
                    //limit: {
                        //ToNr: [123],
                        //GaGeNr: [123,456,789],
                        //ObjMetaNr: [123],
                        //OrtNr: [123],
                        //Groups: [123, 456]
                    //}
              }
            };

            // diesen Code nicht mehr ändern!
            var secra_op_client;
            if(secra_op_client && secra_op_client.loadModule){
                secra_op_client.loadModule(
                    loadOptions['module'],
                    loadOptions['content_id'],
                    loadOptions['options']
                );
            } else {
                if(!secra_op_client) { secra_op_client = {}; }
                secra_op_client.loadQueue = [];
                secra_op_client.loadQueue.push({
                        module: loadOptions['module'],
                        embed_id: loadOptions['content_id'],
                        options: loadOptions['options']
                    }
                );
            }

        </script>
    </div>

Optionen

Dies sind die möglichen Optionen die bei der Einbindung angegeben werden können.

Option Typ Werte Standard Erklärung
useCookies Bool true,false true deaktiviert die Nutzung von Cookies für diese Einbindung (nicht empfohlen)
hasOwnCookieInfo Bool true,false false gibt an, ob ein eigener Cookiehinweis auf der Seite vorhanden ist, falls nicht, wird auf Seiten mit Inhalten aus der OP ggf. ein Cookiehinweis angezeigt
languageSwitcherEnabled Bool true,false true aktiviert oder deaktiviert die Sprachumschaltungsoption
scrollTopOffset Integer 0 gibt die Höhe des Headers der Webseite an, damit bei Scroll-to-Top Aktionen an die richtige Position gescrollt wird (und nicht über die Einbindung höher oder tiefer hinaus)
scrollToTop Bool true,false true wenn aktiviert wird dynamisch ein Scroll-To-Top Button in der unteren rechten Ecke angezeigt, deaktivieren, wenn schon einer auf der Seite vorhanden ist
alwaysShowExtendedFilters Bool true,false false gibt an, ob die erweiterten Suchfilteroptionen dauerhaft angezeigt werden oder erst, wenn der Nutzer sie aufruft
enableShare Bool true,false false wenn true, dann wird am Ende der Objektseite eine Social Share Bar eingebunden (benötigt angepasste htaccess für vollen Support aller Features (Bilder))
limit Object Limit-Obj. {} limitiert die durchsuchbaren Objekte anhand von Filtern, dies wirkt sich auf die möglichen Optionen für die Auswahlfelder aus (sie werden ggf. reduziert)
enableMap Bool true,false - aktiviert die Karte in der Suche, sofern dieses Feature freigeschaltet wurde; Achtung: benötigt eine breitere Einbindung, sonst auto-off!
extraImages Bool true,false true aktiviert ein Layout mit zusätzlichen Bildern; Achtung: benötigt eine breitere Einbindung, sonst auto-off!
mapconfig Object Mapconfig-Obj. {} Optionen für die Karteneinbindung des Frontends
prefill Object Prefill-Obj. {} Alternative zum programmatischen Setzen der Filter

initiale Sortierung

Die initiale Sortierung der Suche mit und ohne Zeitraum kann jeweils eingestellt werden. Durch den Nutzer gewählte Sortierungen überschreiben diesen Wert. Die Sortierung erfolgt dabei in mehreren Ebenen und wird durch unseren Support voreingestellt.

Routen

Die Suche unterstützt die Verwendung folgender Routen für den direkten Aufruf.

Aktion Default Route Beispiel URL
Suche laden ja /search/list http://www.demo.me/demo.php#!m/0/search/list
Suche komplett ohne Paging laden (nicht empfohlen) nein /search/ls http://www.demo.me/demo.php#!m/0/search/ls
Suche mit Optionen nein /search/param/? wird nur dynamisch durch den Nutzer erzeugt, nicht zum verlinken geeignet
SEO Pagination nein /search/offset/* diese URL wird zur Pagination der Suchergebnisse durch Bots verwendet, sie ist nicht nutzbar durch Besucher

URL Parameter

Die Suche kann zum initialen Start mit GET Parametern aufgerufen werden. Mit diesen werden die Filter gesteuert/gesetzt. Verwenden Sie diese Parameter, wenn Sie ein eigenes Suchwidget erstellt haben oder wenn Sie eine bestimmte Vorfilterung verlinken wollen.

Parameter Werte Funktion Beispiel
arrival Date(EN) englisches Anreisedatum (YYYY-MM-DD) "2017-01-31"
departure Date(EN) englisches Abreisedatum (YYYY-MM-DD) "2017-02-28"
nights Integer Anzahl der Nächte im angegebenen Zeitraum "3"
adults Integer Anzahl der Erwachsenen "3"
children CSV aus Integer Altersangaben der Kinder entsprechend ihrer Anzahl, urlencoded "[3,7]"
properties CSV aus Merkmalnamen Vorausgewählte Ausstattungsmerkmale "Badewanne,Telefon"
topics CSV aus Integer Urlaubsthemen mit bestimmter ID auswählen "1863, 1864"
onlinebooking Enum(all, only_ob, only_rq) setzt den Onlinebuchungsfilter auf alle (all) oder nur onlinebuchbare (only_ob)/ nur verbindlich anfragbare (only_rq) "only_ob"
roomtypes CSV aus Objekttypen filtert auf bestimmte Objekttypen vor "p_1,p_2,g_3"
stars Integer Anzahl der Sterne "4"
bedrooms Integer Anzahl der Schlafzimmer "2"
city einzelne Ortskennung Filterung auf einen bestimmten Ort, wichtig: der Value beschreibt immer nur einen Ort, auch wenn der Wert ein CSV ist, das liegt an zusammengeführten Ausgaben mehrerer Orte "12,34,56" oder "123"
country einzelne Landeskennung Filterung auf einen bestimmtes Land "123"
keyword String das Keyword für die Stichwortsuche "Bauernhof"
lastminute Enum(all, lma) aktiviert oder deaktiviert die Lastminute Filterung "lma"
sort Enum(random, size_asc, size_desc, stars_desc, onlinebookable_desc) die eingestellte Sortierung (ohne Angabe erfolgt die Sortierung aufgrund des bestimmten Schemas des Kunden) "stars_desc"
clearFilter "true" entfernt alle Filterungen "true"
hierarchyTree Integer ID eines Knoten vom Objektkategoriebaum "2"

Tipp: Die Werte für topics, hierarchyTree, city und country können entweder bei uns angefragt oder direkt aus den Values der entsprechenden Eingabefelder der Suchmaske ausgelesen werden.

https://www.musterhausen.de/search.php?roomtypes=g_1&stars=4

Events

Die Suche stellt nachfolgende Events bereit.

Der Modulname für Events lautet search. Details zum Aufbau von Events finden Sie hier.

Aktion Event Datenobjekt
Objekt wird angezeigt view {ObjMetaNr: ?}
Suche geladen load {}

Hinweise zur Verwendung von Filtervoreinstellungen

Filtervoreinstellungen können auf verschiedene Arten eingestellt werden:

  • durch den Nutzer
  • durch eine Short-URL die aus der Share Funktion erstellt wurde
  • durch URL Parameter (GET)
  • durch Voreinstellung in der JSON Konfiguration

Die programmatisch gesteuerten Einstellungen werden dabei in dieser Reihenfolge geladen:

Hinweis: Es wird jeweils nur eines der drei Sets angewendet.

  • GET Parameter
  • Short-URL Daten
  • JSON Voreinstellung

Voreinstellungen können durch den Nutzer nach dem Laden der Seite verändert werden.

Beispiel

Dieses Beispiel zeigt exemplarisch eine Einbindung mit allen Optionen. In der Praxis sollten Sie nur die Optionen angeben, die Sie auch benötigen.

<div id="op_content_box">
    <script type="text/javascript">

        // diese Werte können/müssen angepasst werden:
        var loadOptions = {
            module: 'op-frontend-suche', // Name des zu ladenden Moduls
            content_id: 'op_content_box', // ID des HTML Elements, in das der Inhalt geladen wird
            options: {
                hasOwnCookieInfo: false,
                alwaysShowExtendedFilters: true,
                enableShare: true,
                scrollToTop: false,
                limit: {}
            }
        };

        // diesen Code nicht mehr ändern!
        var secra_op_client;
        if(secra_op_client && secra_op_client.loadModule){
            secra_op_client.loadModule(
                    loadOptions['module'],
                    loadOptions['content_id'],
                    loadOptions['options']
            );
        } else {
            if(!secra_op_client) { secra_op_client = {}; }
            secra_op_client.loadQueue = [];
            secra_op_client.loadQueue.push({
                        module: loadOptions['module'],
                        embed_id: loadOptions['content_id'],
                        options: loadOptions['options']
                    }
            );
        }

    </script>
</div>

results matching ""

    No results matching ""