paragraph-Objekt

Das paragraph-Objekt repräsentiert einen Absatz (eine "Zeile") mit 1 oder mehreren Spalten mit jeweils 1 oder mehreren Artikel.

area

Syntax: paragraph.area

Der Name des Bereichs auf der Seite, in dem sich der Absatz befindet.

Werte sind z.B. "standard" oder "news".

articles

Syntax: paragraph.articles

Ermittelt eine Liste mit 0..n Artikel-Objekten vom Typ article, aus allen paragraphColumn-Objekten im aktuellen Absatz.

Über die Liste kann mit einer for-Schleife iteriert werden:

  • count ist die aktuelle Anzahl von Artikeln in der Liste.
  • item(index) liefert den Artikel am angegebenen Index (0-basiert).

Die zurückgegebenen Artikel sind abhängig von:

  1. Ob Artikel aktiv/inaktiv sind (entweder weil der Benutzer den Artikel explizit auf inaktiv gesetzt hat, oder weil dieser aufgrund der zeitgesteuerten Sichtbarkeit zum aktuellen Zeitpunkt unsichtbar ist)
  2. Wie der Benutzer den "Einfügen an/aus"-Schalter im Hauptfenster rechts oben gesetzt hat.

Folgende Logik gilt:

  • Wenn "Einfügen an/aus" auf "aus" steht und ein Artikel aktiv ist, wird der Artikel mit in dieser Liste zurückgegeben.
  • Wenn "Einfügen an/aus" auf "an" steht und ein Artikel aktiv ist, wird der Artikel mit in dieser Liste zurückgegeben. Inaktive Artikel werden ebenfalls zurückgegeben, und zwar dann, wenn für die interne Vorschau in Zeta Producer gerendert wird. Also wenn system.preview den Wert true hat. Hat system.preview den Wert false, werden inaktive Artikel nicht zurückgegeben.

columns

Syntax: paragraph.columns

Ermittelt eine Liste mit 0..n Objekten vom Typ paragraphColumn, mit allen Spalten im aktuellen Absatz.

Über die Liste kann mit einer for-Schleife iteriert werden:

  • count ist die aktuelle Anzahl von Spalten in der Liste.
  • item(index) liefert die Spalte am angegebenen Index (0-basiert).

container

Syntax: paragraph.container

Wenn an genau diesem Absatz ein neuer Container beginnt, wird ein Objekt vom Typ container zurück gegeben.

Ist hingegen der Absatz nicht der erste Absatz in einem Container ist (also z.B. der zweite oder dritte Absatz), wird null zurück gegeben.

Der Benutzer kann pro Absatz über ein Kontrollkästchen konfigurieren, ob ein Container an diesem Absatz beginnen soll.

Der Container ist dann für alle nachfolgenden Absätze so lange gültig, bis der Benutzer wieder bei einem Absatz das Kontrollkästchen aktiviert. Alternativ ist der letzte Absatz eines Bereichs implizit das Ende des Containers.

cssClass

Syntax: paragraph.cssClass

Der vom Benutzer im Absatz-Bearbeiten-Dialogfenster eingegebene CSS-Klassen-Name.

Im Widget muss die Eingabe einer CSS-Klasse für den Benutzer manuell aktiviert werden, damit dieser die CSS-Klasse eingeben kann.

Beispiel:

<div class="<$= paragraph.cssClass $>">
</div>

Verfügbar ab Version 13

hasArticles

Syntax: paragraph.hasArticles

Prüft, ob im Absatz Artikel enthalten sind.

Das zurückgegebene Ergebnis (true/false) ist abhängig von:

  1. Ob Artikel aktiv/inaktiv sind (entweder weil der Benutzer Artikel explizit auf inaktiv gesetzt hat, oder weil Artikel aufgrund der zeitgesteuerten Sichtbarkeit zum aktuellen Zeitpunkt unsichtbar sind).
  2. Wie der Benutzer den "Einfügen an/aus"-Schalter im Hauptfenster rechts oben gesetzt hat.

Folgende Logik gilt:

  • Wenn keine Artikel vorhanden sind, wird false zurückgegeben.
  • Wenn "Einfügen an/aus" auf "aus" steht und mindestens ein Artikel aktiv ist, wird true zurückgegeben.
  • Wenn "Einfügen an/aus" auf "an" steht und mindestens ein Artikel aktiv ist, wird true zurückgegeben. Sind inaktive Artikel vorhanden, wird ebenfalls true zurückgegeben, und zwar dann, wenn für die interne Vorschau in Zeta Producer gerendert wird. Also wenn system.preview den Wert true hat. Hat system.preview den Wert false, wird false zurückgegeben.

id

Syntax: paragraph.id

Die interne Datenbank-ID des Absatzes.

inlineCss

Syntax: paragraph.inlineCss

Der vom Benutzer im Absatz-Bearbeiten-Dialogfenster eingegebene Inline-CSS-Code.

Im Widget muss die Eingabe von Inline-CSS-Code für den Benutzer manuell aktiviert werden, damit dieser den Inline-CSS-Code eingeben kann.

Beispiel:

<div style="<$= paragraph.inlineCss $>">
</div>

Verfügbar ab Version 13

value()

Syntax: paragraph.value(key, fallBack = null)

Liefert einen vom Benutzer eingegebenen/ausgewählten Wert des Absatzes.

  • key - Der Name des Werts, der gelesen werden soll. Das entspricht den "name"-Einträgen der "fields"-Liste in der JSON-Datei der Seitenvorlage.
  • fallBack - Falls der Wert nicht gefunden wurde, kann optional beim Aufruf der Funktion ein Wert angegeben werden, der zurückgeliefert wird.

Der Rückgabewert ist kommt immer mit dem richtigen Datentyp zurück, also z.B. als boolescher Wert, ganze Zahl oder Fließkommazahl. Das kann wichtig bei der weiteren Verarbeitung im JavaScript werden, so dass Sie z.B. keinen parseInt()-Aufruf machen müssen.

valueExpanded()

Syntax: paragraph.valueExpanded(key, fallBack = null)

Verhält sich analog zur value()-Funktion mit dem Unterschied, dass etwaige im zurückgegeben Wert enthalten Skript-Aufrufe und Platzhalter bereits expandiert sind.

valueRaw()

Syntax: paragraph.valueRaw(key, fallBack = null)

Verhält sich analog zur value()-Funktion mit dem Unterschied, dass der Rückgabewert immer als Zeichenfolge zurückgegeben wird und der Datentyp nicht geändert wird.

Es werden also z.B. auch boolesche Werte und Zahlen immer als Zeichenfolge zurückgegeben.

cssBackgroundImage

Syntax: paragraph.cssBackgroundImage(key) : cssBackgroundImage

Liefert ein articleCssBackgroundImage-Objekt für den angegebenen Schlüssel (String) zurück, sofern sich ein CSS-Hintergrund-Bild-Element an dieser Stelle befindet.

cssBackgroundImageSimple

Syntax: paragraph.cssBackgroundImageSimple(key) : cssBackgroundImageSimple