arnbae
I'm new here

Geparste Medien: Zugriff auf welche Variablen-Kontexte?

Hallo,

In Variablen aus dem Kontext "root" in Media:CSS auslesen wird erwähnt, dass geparste Medien einmal interpretiert werden, wenn sie das erste Mal eingebunden werden, und dabei Zugriff auf den Kontext "root" haben.

Frage: Zugriff von geparsten Dateien NUR auf den Root-Kontext? Wenn ja, war das schon einmal anders, konnte man schon einmal auf den "PAGE"-Kontext (natürlich zum Zeitpunkt der Generierung, also bei der ersten Einbindung) zugreifen?

Hintergrund: Das würde mir in einem Projekt enorm Arbeit ersparen, weil ich dann Medien (JS-Dateien) vom Seitentemplate aus konfigurieren und erzeugen könnte. Selbst wenn ich mit Kopien desselben Mediums arbeiten müsste (jedes Medium wird ja nur einmal erzeugt), würde das die Code-Wartung enorm vereinfachen. Ich möchte nur ungern auf eine Seitenvorlage mit der Endung .js ausweichen, weil ich dann wieder meine JS-Dateien nicht mehr in den Medien hätte.

Grüße,

Arndt

0 Kudos
3 Replies
Peter_Jodeleit
Crownpeak employee

Dir geht es um Vermeidung von Code-Redundanz? Dann arbeite doch mit $CMS_INLCUDE auf der Seite?!

Peter
0 Kudos

Das trifft es leider nicht ganz. Ich will ja meinen Javascript-Code nicht auf der Seite haben, sondern in einem (1!) verlinkten .js-Medium. Ein js-Medium muss es sein, weil ich gerade für Google Page Speed optimiere, und deshalb JavaScript asynchron lade. Da kann ich die Ladereihenfolge von mehreren JS-Dateien und Inline-JavaScript nicht mehr garantieren.

Erster Gedanke war, im geparsten Medium $CMS_INCLUDE$ zu verwenden, um verschiedene JS-Files aus dem Medienpool zu einem zusammenzufassen - geht auch. Ich lasse sogar einen Wrapper drüberlaufen, der mir das Ganze auch noch beim Generieren minifiziert.

Nun brauche ich an verschiedenen Stellen in meinem Web verschiedene Zusammenstellungen der JS-Dateien, je nach generierten Absätzen auf einer Seite. War also der Gedanke, im Seitentemplate verschiedene Zusammenstellungen in einer Liste anzufertigen, und dann im Medium dynamisch zu einer gesamten JS-Datei zusammenzupacken.

Nun habe ich mal als Abhilfe diverse Grundkonfigurationen in den Projekteinstellungen als Listen hinterlegt, so dass im Medium darauf zugeriffen werden kann. Es hätte einfach besser in mein Modulkonzept gepasst, wenn auch der Page-Kontext bereitgestanden hätte.

Die Anfrage also nur nochmal als Bestätigung, dass es die Einschränkung auf den Root-Kontext wirklich gibt, und ich nichts übersehen habe.

Grüße,

Arndt

P.S.: Macht es Euch nicht manchmal Angst, was die Leute alles mit Eurem CMS anstellen? :smileysilly:

0 Kudos

Nein, du hast nichts übersehen. Die "Einschränkung" gibt es und die ist auch sinnvoll Smiley Wink.

Peter
0 Kudos