Organisation
Erstellen & Versenden
Sicherheit
API
Rules Engine
Regeln innerhalb von Datensätzen
Lokale Adressierung von Blöcken (self.siblings
)
Üblicherweise können alle Blöcke mittels Punktnotation über blocks.slug
adressiert werden. Innerhalb von Datensätzen funktioniert die Adressierung von Blöcken konzeptionell anders. Hintergrund ist die logische Dopplung eines jeden Blocks pro Datensatz. Im folgenden Beispiel ist für jede “Vorherige Versicherung” der Block “Name der Versicherung” vorhanden. Der bekannte Weg über blocks.insurance_name würde also die Frage aufwerfen, der Name welcher vorherigen Versicherung denn nun zurückgegeben werden würde.
Um dieses Problemfeld zu umgehen, sind Blöcke innerhalb von Datensätzen nicht über blocks.slug
erreichbar. Um von außen auf diese Blöcke zuzugreifen, wird mit blocks.datensatz.rows gearbeitet (Gegenstand eines anderen Artikels).
An dieser Stelle soll es Sichtbarkeitsregeln innerhalb von Datensätzen gehen — d.h. die Eingaben innerhalb eines Datensatzes wirken sich auf die Sichtbarkeit von Blöcken innerhalb des gleichen Datensatz-Eintrags aus.
Um lokal begrenzt — innerhalb eines Datensatz-Eintrags — auf die “Geschwister” eines Blocks zuzugreifen, muss die self.siblings
-Notation verwendet werden. Hierüber sind alle Blöcke innerhalb eines Datensatz-Eintrags genau so erreichbar wie normalerweise alle Blöcke über blocks.slug
.
Beispiel:

Beispiel-Code:
self.siblings.documents_present.options.documents_present_true.selected
Erklärung:
Über self
erhält man Zugriff auf den aktuellen (lokalen) Eintrag des Datensatzes. Innerhalb von self.siblings
sind die Blöcke unter ihrem jeweiligen slug im Schema self.siblings.slug
— also beispielsweise self.siblings.documents_present
— erreichbar.
Der Code self.siblings.documents_present.options.documents_present_true.selected
liefert also genau dann true
zurück (und schaltet damit den mit der Sichtbarkeitsregel belegten Block auf sichtbar), wenn die Option documents_present_true
aus der Auswahl documents_present
im jeweiligen Datensatz-Eintrag gerade ausgewählt ist.
Hier Regel kopieren: