daniel2
I'm new here

Variablen aus dem Kontext "root" in Media:CSS auslesen

Jump to solution

Hallo FS-Community,

sehe ich es richtig, dass es nicht möglich ist, in einer im Media-Store eingebundenen CSS-Datei z.B. mit

$CMS_VALUE(#global.context("root")["variable"])$

auf im Kontext "root" deklarierten Variablen zuzugreifen?

Wenn dem so ist, wie realisiere ich dann mein Ziel, mit nur einer CSS z.B. Farben von Headern oder Links abhängig von der gerade angezeigten Seite (also anhängig von der Position in der Struktur) zu steuern?

Cheers,

Daniel Erendt

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Herr Erendt,

ich fürchte, hier liegt ein konzeptionelles Missverständnis vor.

Da ein zu parsendes Medium (in diesem Fall die CSS Datei) beim ersten Zugriff geparsed wird und dann mit diesem Inhalt "weiterverwendet" wird, macht es keinen Sinn zu versuchen, den Inhalt der CSS Datei abhängig von der aktuellen Seite zu erzeugen.

Statt dessen sollten in der CSS Datei alle möglichen Klassen entsprechend enthalten sein und auf den einzelnen Seiten die korrekten Klassen referenziert werden [abhängig von den dort gesetzten Variablen].

Falls ich Sie missverstanden haben sollte, können Sie dann den Anwendungsfall etwas ausführlicher erläutern?

Viele Grüsse aus Dortmund,

  Holger Höbbel

View solution in original post

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Herr Erendt,

ich fürchte, hier liegt ein konzeptionelles Missverständnis vor.

Da ein zu parsendes Medium (in diesem Fall die CSS Datei) beim ersten Zugriff geparsed wird und dann mit diesem Inhalt "weiterverwendet" wird, macht es keinen Sinn zu versuchen, den Inhalt der CSS Datei abhängig von der aktuellen Seite zu erzeugen.

Statt dessen sollten in der CSS Datei alle möglichen Klassen entsprechend enthalten sein und auf den einzelnen Seiten die korrekten Klassen referenziert werden [abhängig von den dort gesetzten Variablen].

Falls ich Sie missverstanden haben sollte, können Sie dann den Anwendungsfall etwas ausführlicher erläutern?

Viele Grüsse aus Dortmund,

  Holger Höbbel

0 Kudos

Sorry, Herr Höbbel, hier bin ich Ihnen noch a bisserl eine Antwort schuldig ,-)

Sie hatten - so wie ich die Frage gestellt hatte - recht mit dem konzeptionellen Missverständnis.

Unser Projekt besteht aus drei im Layout unterschiedlichen Portalen, die in einem Projekt und somit in einer Struktur verwaltet werden. Mein Ziel war es, nur eine CSS-Datei managen zu müssen und zugleich ein "System" zu haben, welches je nach Portal z. B. die Font-Color eines Headers oder die Rahmenfarbe eines DIVs wechselt.

Ich habe es nun so gelöst, dass ich  im Kontext angehobene Variablen in der CSS-Datei auslese, also z. B.:

h1, h2 {

  color: $CMS_VALUE(#global.context("PAGE")["ftHeaderLinkColor"])$;

  margin-bottom: 20px;

}

Diese CSS-Datei inkludier ich wiederum in einem Seitentemplate:

$CMS_INCLUDE(media:"css_screen", parse:"true")$

Aus diesem Seitentemplate erstellte ich für jedes Portal eine CSS-Datei, bzw. -Inhaltsseite, die wiederum im Seitenheader portalabhängig referenziert ist:

<link rel="stylesheet" type="text/css" href="$CMS_REF(pageref:"css_screen_"+sfPortal)$" media="screen" />

So bin ich stets im richtigen Kontext zum Portal und fasse nur eine CSS an.

Viele Grüße aus München,

Daniel Erendt

0 Kudos