- zusätzliche Produktinformationen, Bilder und technische Parameter
- Sendungsverfolgung im Kundenkonto
- ein vollständiges Hauptmenü samt Untermenüs
- Topseller-Strukturen und Cross-Links für Kategorien oder Produkte
- Postleitzahlenlisten mit Versandlaufzeiten und europaweite Feiertage für die Lieferzeitberechnung
- Bewertungen von Drittanbietern
- Inhalte aus einem Redaktionssystem
Woher die Daten kommen
Freischaltung und FTP-Zugang
Lassen Sie die JSON-Schnittstelle für Ihren Shop freischalten. Sie bekommen dafür einen eigenen FTP-Zugang mit Server, Benutzername und Passwort. Wollen Sie ausschließlich mit internen Daten arbeiten, also mit Antworten fremder Systeme, brauchen Sie weder Freischaltung noch eigenen FTP-Zugang.Die Ordnerstruktur
Im Wurzelverzeichnis liegen die Dateien, die für alle Shops und Subshops gelten. Soll ein Subshop eigene Dateien bekommen, legen Sie ein Verzeichnis mit der Subshop-ID an und legen die Dateien dort ab. Der Dateiname muss in allen Subshop-Verzeichnissen derselbe sein. Welche Datei geladen wird, entscheidet der Subshop, in dem der Besucher gerade ist. Weitere Unterverzeichnisse dürfen Sie frei anlegen.Anforderungen an die Dateien
Die beiden Tag-Familien
Die Tags funktionieren auf allen Templates. Eine Anpassung der
shop.config ist nicht nötig.
Daten laden
Geladen wird mitEJD-LoadData(). Das Tag nimmt drei Angaben: den Typ, den Pfad und eine Kennung.
Prüfen, ob die Daten angekommen sind
Auf Werte zugreifen
Ein Wert wird über seinen Zugriffspfad angesprochen. Dieser entsteht aus den Namen der Ebenen, verbunden durch Punkte. Elemente eines Arrays bekommen ihren Index in eckigen Klammern, gezählt ab null. Für das oberste Element steht ein leerer Pfad oder_root_.
Die folgenden Beispiele arbeiten mit dieser Datei:
Im Template:
Die Kennung einmal setzen
Wird auf dem Template nur eine Datei verwendet, erspartEJD-SetUseID() die Wiederholung der Kennung in jedem Tag.
Werte in anderen Tags weiterverwenden
DieEJD-DA--Tags tragen ihre Angaben in Klammern und lassen sich deshalb nicht einfach in andere Tags schachteln. Der Shop merkt sich aber jeden Wert und jeden Namen, den ein solches Tag anfasst. Über EJD-LastValueAccessed und EJD-LastNameAccessed kommen Sie an das zuletzt Angefasste heran, und dieses lässt sich wie jeder andere Wert weiterverwenden.
Der Zugriffspfad lässt sich auch in einem freien Platzhalter zusammenbauen, wenn der Index aus einer Schleife kommt:
Nachkommastellen festlegen
Elemente prüfen
Die Art eines Wertes lässt sich abfragen. Dabei wird der Wert zugleich gemerkt.EJD-DA-IsTrue(), EJD-DA-IsFalse(), EJD-DA-IsNull(), EJD-DA-IsNumber(), EJD-DA-IsReal(), EJD-DA-IsString(), EJD-DA-IsObject() und EJD-DA-IsArray().
Ob ein Name überhaupt vorkommt, beantwortet ein eigenes Tag. Es merkt sich dabei den Namen.
Crosslinks, also der letzte Teil des Pfades, nicht der ganze Pfad.
Referenz: EJD-DA-IsTrue() · EJD-DA-IsFalse() · EJD-DA-IsNull() · EJD-DA-IsNumber() · EJD-DA-IsObject() · EJD-DA-IsReal() · EJD-DA-IsString() · EJD-DA-IsArray() · EJD-DA-NameExists()
Über Elemente laufen
Kennen Sie die Namen der Elemente nicht im Voraus, läuftEJD-ElementIterator() über sie hinweg. Als Schleife wiederholt das Tag den Code, als Einzel-Tag gibt es den Namen des aktuellen Elements aus.
EJD-DA-NameExists().
Referenz: EJD-ElementIterator()
Eigene JSON-Daten erzeugen
Der Shop kann JSON-Daten auch selbst aufbauen oder geladene Daten verändern und danach ausgeben. Drei Regeln gelten dabei:- Gibt es das Element unter dem angegebenen Pfad schon, wird es überschrieben.
- Gibt es es noch nicht, wird es angelegt.
- Je Aufruf lässt sich genau ein Element bearbeiten.
Einfache Werte
Arrays
Ein leeres Array wird angelegt und dann Stelle für Stelle erweitert. Ob Sie abwechselnd erweitern und füllen oder erst alle Stellen anlegen und dann füllen, bleibt Ihnen überlassen._root_.
Verschachtelte Daten
Jede Ebene wird zuerst als leeres Objekt angelegt, danach gefüllt.Prüfen, ob die Änderung geklappt hat
Daten aus fremden Systemen verarbeiten
Antworten von Zahlungsanbietern, Versanddienstleistern oder vom Shopsystem selbst liegen nicht als Datei vor. Sie kommen im Moment des Aufrufs an und heißen deshalb intern. Bei Dateien wissen Sie, was drinsteht, weil Sie sie selbst hochgeladen haben. Bei internen Daten ist das oft nicht der Fall.EJD-RawDataOutput() gibt deshalb alles aus, was angekommen ist. Das ist der schnellste Weg herauszufinden, womit Sie es zu tun haben.
Schritt 1: Die Daten in die Schnittstelle setzen
EJD-SetRawDataHexCodedInput().
Schritt 2: Laden und Kennung vergeben
Einige interne Daten kommen direkt vom Shopsystem und brauchen Schritt 1 nicht. Die hreflang-Angaben beispielsweise lassen sich unmittelbar laden:
Verwandte Themen
- Anwendungsbeispiele: JSON-Schnittstelle
- Wegweiser: Externe Inhalte einbinden
- Wegweiser: Daten mit externen Systemen austauschen
- Wegweiser: DHL-Sendungsverfolgung
