Das Einzel-Tag gibt den zuletzt vorübergehend gespeicherten ("berührten") Wert aus.
Wegweiser: JSON-Schnittstelle
Da die meisten EJD-DA-Tags (External-JSON-Data Direct-Access) mit Parametern (Zugriffspfad und ID) verwendet werden, ist eine direkte Tag-in-Tag-Verwendung in Kombination mit anderen Tags (z. B. DC-Tags) nicht möglich.
Um dieses Problem zu umgehen, wird bei der Verwendung eines EJD-DA-Tags der Wert (bzw. Name) vorübergehend gespeichert ("berührt"). Somit kann durch das eigene Tag EJD-LastValueAccessed ohne Parameter auf den jeweils zuletzt "berührten" Wert zugegriffen werden.
Folgende EJD-DA-Tags speichern oder "berühren" den Wert eines JSON-Elements:
EJD-DA-Value()
EJD-DA-TouchValue()
EJD-DA-IsString()
EJD-DA-IsNumber()
EJD-DA-IsObject()
EJD-DA-IsArray()
EJD-DA-IsTrue()
EJD-DA-IsFalse()
EJD-DA-IsNull()
EJD-DA-ArrayElements()
EJD-DA-TouchArrayElements()
Beispiel der JSON-Datei "<Produkt-Nummer>.json":
{
"Produktname": "Sportlicher Sneaker",
"Produktnummer": "A-1234",
"AdditionalInfo":
{
"Beschreibung": "Moderne Schuhe für jeden Anlass",
"lieferbar": true,
"Crosslinks": [ "A-5678", "B-9876", "C-2323" ],
"Lagerbestand": 42,
"Preis": 59.95
}
}
Beispiel für die Verwendung im Template:
~EJD-LoadData(global,$PR-Number$.json,jdat)~
<!-- Ausgabe der Anzahl der Crosslinks, gleichzeitig wird dieser Wert "berührt" -->
Anzahl der Crosslinks: ~EJD-DA-ArrayElements(AdditionalInfo.Crosslinks,jdat)~<br>
<!-- Loop über die Crosslinks, Verwendung mit Tag-in-Tag -->
<!-- Durch EJD-LastValueAccessed wird der zuletzt "berührte" Wert verwendet. In diesem Beispiel "3", die Anzahl der Array-Elemente -->
~DC-ZeroLoop1_set($EJD-LastValueAccessed$)~
{@DC-ZeroLoop1}
Crosslink #~DC-ZeroLoop1_position~: ~EJD-DA-Value(AdditionalInfo.Crosslinks[$DC-ZeroLoop1_position$],jdat)~<br>
{/@DC-ZeroLoop1}
Ausgabe:
Anzahl der Crosslinks: 3
Crosslink #1: A-5678
Crosslink #2: B-9876
Crosslink #3: C-2323
Verwendbar als …
Einzel-Tag |
+ |
Bereichs-Tag |
+ |
negatives Bereichs-Tag |
+ |
Schleifen-Tag |
– |
Zulässig in Templates …
Alle