- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CMS_ELSIF in CMS_SET
Hallo zusammen,
beim Fehlermeldungen entfernen, bin ich รผber ein interessantes Detail gestolpert.
Als Fehler angegeben wurde eine mรถgliche Endlosschleife in einer CMS_ELSIF Abfrage (haha). Ohne CMS_.. wurden keine Fehler ausgegeben. Nach einigem Versuchen hab ich dann die if-Abfrage geteilt und seitdem lรคuft das Template ohne Fehlermeldung durch. Mir scheint, als wรผrde hier das umschlieรende CMS_SET keine CMS_ELSIF vertragen.
Unten angehรคngt die zwei Code-Fragmente, sollte ich hier etwas gรคnzlich anderes รผbersehen haben, bin ich dankbar fรผr die Aufklรคrung.
Ciao
Benedikt
Funktioniert nicht (funktioniert schon, wirft bei der Generierung allerdings einen Error):
$CMS_SET(setMedia, ltMediaRef.getMedia())$
$CMS_SET(setLinkText)$$CMS_TRIM(level:4)$
$CMS_IF(setMedia.getType() == setMedia.FILE)$
$CMS_SET(setFileData, setMedia.getFile(#global.language))$
($CMS_VALUE(setFileData.getExtension().toString.toUpperCase)$)
$CMS_ELSIF(setMedia.getType() == setMedia.PICTURE)$
$CMS_SET(setPictureData, setMedia.getPicture(#global.language).getPictureMetaData(#global.project.originalResolution))$
($CMS_VALUE(setPictureData.getExtension().toString.toUpperCase)$)
$CMS_END_IF$
$CMS_END_TRIM$$CMS_END_SET$
Fehlermeldung sinngemรคร: Achtung Endlosschleife!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Funktioniert ohne Error-Meldung:
$CMS_SET(setMedia, ltMediaRef.getMedia())$
$CMS_SET(setLinkText)$$CMS_TRIM(level:4)$
$CMS_IF(setMedia.getType() == setMedia.FILE)$
$CMS_SET(setFileData, setMedia.getFile(#global.language))$
($CMS_VALUE(setFileData.getExtension().toString.toUpperCase)$)
$CMS_END_IF$
$CMS_IF(setMedia.getType() == setMedia.PICTURE)$
$CMS_SET(setPictureData, setMedia.getPicture(#global.language).getPictureMetaData(#global.project.originalResolution))$
($CMS_VALUE(setPictureData.getExtension().toString.toUpperCase)$)
$CMS_END_IF$
$CMS_END_TRIM$$CMS_END_SET$
- Labels:
-
Developers
-
Knowledgebase
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die "Endlosschleifenerkennung" schlรคgt ab einer gewissen Stack-Tiefe zu. Wahrscheinlich operiert der Code gerade an der Grenze (mรผsste an der Fehlermeldung zu sehen sein - die wird ausgegeben, wenn #global.debugMode auf true gesetzt wird).
Wenn das der Fall ist, kann รผber #global.maxStackSize (default = 50) die maximale Stacktiefe erhรถht werden.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wir haben gerade ein ganz รคhnliches Problem. รber $CMS_SET(#global.maxStackSize, 100)$ wird das Problem behoben, allerdings frage ich mich, ob es generell unproblematisch ist diesen Wert zu erhรถhen, oder gibt es da etwas zu beachten? Oder gibt es dazu vielleicht Erfahrungen ab welcher Verschachtelungstiefe anders vorgegangen werden muss?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Im Fall einer Endlosschleife dauert es bei erhรถhtem Wert lรคnger, bis die Erkennung zuschlรคgt. Im normalen Betrieb ergbit sich kein Nachteil durch die Erhรถhung des Wertes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Im normalen Ausgabekanal (HTML) konnten wir das Problem mit den Endless Loop Fehlern durch die Erhรถhung der Stacksize beheben. Im Ausgabekanal fรผr die UX-Bridge bekommen wir die Fehler allerdings nicht weg. Den Inhalt eines HTML Ausgabekanals รผbernehmen wir dabei wie in Re: Inhalte eines Ausgabekanals in anderen รผbernehmen beschrieben in den UX-Bridge Ausgabekanal.
Hier bin ich jetzt langsam echt mit meinem Latein am Ende.
Irgendeine Idee, wieso hier die Erhรถhung der Stack Size nichts bewirkt?
Gruร,
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reporte das bitte an unseren Helpdesk, vielen Dank.

