Objekt

Die Objekteinbindung beinhaltet die vollständige Darstellung einer Unterkunft mit allen (vor-)konfigurierten Ausgabemöglichkeiten. Von hier ist es ebenfalls möglich direkt eine Buchung oder Anfrage zu starten. Die benötigten Module werden hierzu im Bedarfsfall automatisch nachgeladen und eingebunden.

Achtung: Sie müssen in der Route eine Objektnummer angeben, ansonsten wird kein Inhalt geladen!

Beispielansicht für den Anfang einer Objektseite

Beispielansicht für den Anfang einer Objektseite

Elemente (Sub-Module)

Die Detailsseite eines Objekts besteht aus verschiedenen Elementen, die nachfolgend kurz benannt werden:

Einleitung

Hauptbild mit den wichtigsten Informationen und ein kurzer Einleitungstext

Einleitung

Buchungs-Widget

Zentrale Stelle zur Prüfung der Verfügbarkeit und Berechnung des Reisepreises (kann mehrfach innerhalb einer Objektseite vorkommen)

Einleitung

Bildergalerie

Anzeige der hinterlegten Bilder (inkl. 360°-Bilder - sofern vorhanden).

Einleitung

Ausstattung

Auflistung aller, zur Ausstattung gehörender, Merkmale.

Ausstattung

Saisonpreise

Tabellarische Darstellung aller Saisonzeiten/-preise inkl. der wichtigsten Detailinformationen.

Saisonpreise

Belegungsplan

Kalendarische Jahresübersicht der freien und bereits gebuchten Tage.

Belegungsplan

Lage und Entfernungen

Übersicht der Lage des Objekts und der hinterlegten Entfernungen zu relevanten Orten.

Lage und Entfernungen

Beschreibung

Beschreibungstext des Objekts

Beschreibung

Kontakt

Kontaktmöglichkeiten zu diesem Objekt

Kontakt

(Dies ist eine Beispielliste von möglichen Elementen und muss nicht zwangsläufig die exakte Ausgabe jedes Objekts widerspiegeln!)


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-object.

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

            // diese Werte können/müssen angepasst werden:
            var loadOptions = {
              module: 'op-frontend-object', // 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]
                    //}
              }
            };

            // 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
enableCanonicalManager Bool true,false false aktiviert das experimentelle SEO canonical Support Feature (Wichtig: Nachfolgende Details zu diesem Thema beachten!)
allow404Reroute Bool true,false false Wenn aktiviert, werden Objektseiten mit einem 404 Status auf die Suche umgeleitet. Nur aktivieren, wenn Suche genutzt werden soll.

Routen

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

Aktion Default Route Beispiel URL
Objektseite laden nein /object/:metaid http://www.demo.me/demo.php#!m/object/220

URL Parameter

Die Objektseite kann zum initialen Start mit Hash Navigations Parametern im GET Format (die also Bestandteil der Route sein müssen - s. Beispiel) aufgerufen werden. Mit diesen werden die Buchungseingaben gesteuert. Damit sind Sie in der Lage, bereits beim Öffnen einer Objektseite evtl. vorher gewählte Buchungsdaten an das Buchungswidget in der Objektseite zu übergeben.

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"
adults Integer Anzahl der Erwachsenen "3"
childs Integer Anzahl der Kinder "2"
age CSV (Integer) Alter der Kinder als CSV-Liste "5,11"
https://www.musterhausen.de/object.php?#!m/object/202?arrival=2018-03-01&departure=2018-03-08&adults=2

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-object', // 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,
                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>

Canonical Manager (BETA)

Aktuell werden in der Objektseite automatisch Title und Description für SEO gesetzt. Da es sich bei dem Frontend um eine Single Page Application handelt, muss dies zur Laufzeit dynamisch geschehen. Entsprechendes gilt auch für die canonical Angabe der Objektseite. Dies wird besonders wichtig, wenn die Seiten unter verschiedenen Domains liegen oder verschiedenen Seitenaliassen.

Durch Aktivierung des experimentellen Canonical Supports (siehe Abschnitt "Optionen"), wird beim Aufruf der Objektseite automatisch die aktuelle URL als canonical Angabe übernommen (was auch das Standardverhalten von Suchmaschinen ist). Dennoch kann dies Vorteile bieten, wenn die Suchmaschine die Bewertung nicht selbst eindeutig vornehmen kann.

Während es bisher schädlich war eine canonical Angabe in der Such- und Objektseite zu verwenden (da alle Unterseiten diese identisch übernommen hätten und die Automatik der Suchmaschinen hier sinnvoller war), ist es bei Aktivierung des Canonical Supports möglich eine Angabe in der Basisseite vorzunehmen. Diese wird erkannt und als "Stamm" für die vollständige Canonical Angabe übernommen, indem sie mit dem Hashtag Navigationsanteil der Objektseiten ergänzt wird.

Wichtig:

  • Das bedeutet, die vorhandene canonical Angabe darf keinen eigenen Hash # Wert haben!
  • Wenn diese Methode genutzt wird, ist es entscheidend nach der Aktivierung zu prüfen, ob die canonical Angaben der Such- und der Objektseite korrekt und wie erwartet erzeugt werden.
  • Beachten Sie, dass dieses Feature experimentell ist und seine SEO Auswirkungen daher beobachtet werden sollten.

Beispiel

Aus <link rel="canonical" href="https://mysite.com/search"> wird <link rel="canonical" href="https://mysite.com/search#m/object/1234"> beim Besuch einer Objektseite. Wird zurück auf die Suche navigiert, wird die Änderung wieder rückgängig gemacht.

results matching ""

    No results matching ""