{@PR-Data} durchläuft die Produkte einer Kategorie, {@BASKET-PR-Data} die Positionen im Warenkorb. Manchmal brauchen Sie aber eine Schleife, für die es kein fertiges Tag gibt, beispielsweise fünf Bewertungssterne oder eine Liste, die Sie selbst zusammenstellen.
Dafür gibt es drei Schleifenfamilien.
Der Unterschied zwischen
DC-Loop und DC-ZeroLoop ist allein die Zählweise. Bei fünf Durchläufen liefert DC-Loop1_position die Werte 1 bis 5, DC-ZeroLoopX_position die Werte 0 bis 4. Nehmen Sie DC-ZeroLoop, wenn die Position als Index in eine andere Zählung eingeht, die bei 0 beginnt.
Der Aufbau einer eigenen Schleife
Jede der drei Familien wird nach demselben Muster benutzt.Eine feste Anzahl Durchläufe
DC-Loop1_set() legt die Anzahl fest. Das Argument ist Tag-in-Tag-fähig, die Anzahl kann also aus einem anderen Tag kommen.
DC-ZeroLoop
DC-ZeroLoopX funktioniert genauso, zählt aber ab 0.
DC-Loop ist das X bei DC-ZeroLoop kein Platz für eine Ziffer von 1 bis 3, sondern ein frei wählbarer Name, genau wie bei den freien Parametern. DC-ZeroLoopSpalten und DC-ZeroLoopZeilen sind zwei unabhängige Schleifen. Höchstens 50 verschiedene Namen sind je Seitenaufruf möglich, darüber hinaus legt der Shop keine weitere Schleife mehr an und schreibt einen kritischen Fehler ins Protokoll.
Eine eigene Liste durchlaufen
DC-DynamicLoop1…3 bekommt eine Liste übergeben und durchläuft deren Einträge.
Als Argument von
_set() sind zulässig: eine feste Liste im Template, ein anderes Tag als Tag-in-Tag oder eine Textvariable.
a, ,b , c werden also die drei Einträge a, b und c.
Für die Liste selbst gilt die 128-Zeichen-Grenze der WEBSALE-Tags nicht, sofern sie über Tag-in-Tag hereinkommt. Steht sie als fester Text im Tag, gilt die Grenze sehr wohl. Bauen Sie lange feste Listen deshalb mit DC-FPX_append() zusammen und übergeben Sie sie als Tag-in-Tag.
Referenz: DC-FPX_append
Ein anderes Trennzeichen
Wenn die Einträge selbst Kommas enthalten, brauchen Sie ein anderes Trennzeichen._setseparator() legt es fest.
||. Groß- und Kleinschreibung spielt dabei keine Rolle.
Einträge mit Markierungen
Kommt die Liste aus einem Fremdsystem und sind die Einträge dort von Markierungen umschlossen statt durch ein Zeichen getrennt, verwenden Sie_setSeparatorTags() und _settaggeddata().
_settaggeddata() unterstützt Tag-in-Tag. Damit lässt sich die Antwort einer Schnittstelle direkt in eine Schleife überführen, ohne sie vorher umzuformen.
- Wegweiser: Produkte und Kategorien an beliebiger Stelle im Shop anzeigen
- Wegweiser: Gutscheine mit mehreren Währungen
Die Tags im Überblick
Zulässig sind alle Tags auf allen Templates.
_data und _position geben nur innerhalb der zugehörigen Schleife etwas aus.
Verwandte Themen
- Wegweiser: Produkte und Kategorien an beliebiger Stelle im Shop anzeigen
- Wegweiser: Gutscheine mit mehreren Währungen
- Referenz: DC- (Zähler und Rechnen)
- Grundlagen: Grundlagen zu Tags
