- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Test, ob Inhaltsbereiche leer sind?
Hallo, ich habe eine Frage zu den Inhaltsbereichen von Seitenvorlagen. Ich habe eine Seitenvorlage, in der es zwei Inhaltsbereiche gibt: "content" und "marginal". Fรผr "content" habe ich bereits einige Absatzvorlagen als zugelassen eingetragen, fรผr "marginal" noch nicht. Dann habe ich in der Inhaltsverwaltung eine neue Seite mit dieser Vorlage angelegt.
Nun mรถchte ich in der HTML-Ausgabe testen, ob fรผr den "marginal"-Bereich Inhalte gepflegt wurden (ansonsten soll bei der Ausgabe des "content"-Bereichs noch eine weitere css-Klasse gesetzt werden).
Als Ansatz habe ich in der HTML-Ausgabe folgendes versucht:
$CMS_SET(isMarginalEmpty, #global.page.body("marginal").getChildren().isEmpty())$
Die Variable hat allerdings den Wert false, obwohl ich an der Seite keine Absรคtze gepflegt habe (geht ja auch nicht, weil noch keine zugelassen sind).
In der Doku finde ich unter #global.page und auch unter der API-Definition zu Body nichts, was mir hier helfen wรผrde. Gibt es vielleicht einen anderen Weg, wie ich testen kann, ob der Inhaltsbereich leer ist?
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Versuchen Sie mal: #global.page.body("marginal").getChildren().toList().isEmpty()
Das sollte funktionieren.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Versuchen Sie mal: #global.page.body("marginal").getChildren().toList().isEmpty()
Das sollte funktionieren.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vielen Dank, das wars! Ich habe noch mal in der API-Doku nachgeschaut, und ich hatte mich dort verlesen...die Methode getChildren() gibt keine List, sondern ein Listable zurรผck. Wieder was gelernt!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
#global.page.body("marginal").getChildren().toList().isEmpty()
das funktioniert so nur zufรคllig, da der Body-Knoten derzeit keine anderen Kind-Typen, auรer Absรคtze (Section) haben kann.
Korrekt (zukunftssicher) wรคre hier:
#global.page.body("marginal").getChildren(class("de.espirit.firstspirit.access.store.pagestore.Section")).getFirst() != null
Listable.getFirst() != null
sollte hier verwendet werden, damit bei vorhandenen Absรคtzen, die Liste nicht im Speicher aufgebaut werden muss, nur um zu prรผfen, ob diese leer ist. Genau dafรผr ist die Methode #getFirst() da.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke, habe den Ausdruck noch mal angepasst. Funktioniert wie gewรผnscht

