renet
I'm new here

Vorlagenübergreifende Variablen

Hallo zusammen,

ich möchte zwischen zwei Absätzen des gleichen Typs Trennlinien einfügen.

Dafür würde ich gerne eine Art vorlagenübergreifende Variable definieren (z.B. im Pageheader, den wir auf jeder Seite mittels Formatvorlage einfügen) und den Wert dieser Variable beim ersten Aufruf des entsprechenden Absatz-Typs überschreiben. Etwa so:

$-- Pageheader --$

$CMS_SET(set_zeigeTrennlinie,false)$

$-- Absatz --$

$CMS_IF(set_zeigeTrennlinie)$

     <hr>

$CMS_ELSE$

     $CMS_SET(set_zeigeTrennlinie,true)$

$CMS_END_IF$

Auf diese Weise möchte ich erreichen, dass die Trennlinie ab dem zweiten Vorkommen des Absatzes innerhalb einer Seite ausgegeben wird. Leider funktioniert das nicht. Wenn ich innerhalb des Absatzes auf set_zeigeTrennlinie.isEmpty prüfe, erhalte ich immer false. Auch dann, wenn ich dies in der If-Bedingung negiert prüfe.

Gibt es eine Möglichkeit, Variablen vorlagenübergreifend zu definieren, ohne gleich Struktur-Variablen, Projekteinstellungen oder die Globalen Inhalte verwenden zu müssen (das würde ich als unsauber ansehen, da es sich um eine rein technische Variable handelt, die nicht pflegbar sein soll)?

Vielen Dank für eure Antworten im Voraus!

Viele Grüße

René Schubert

3 Replies
feddersen
Community Manager

Hallo René,

schau mal hier Seitenglobale Variablen in FirstSpirit

Viele Grüße

Christoph

0 Kudos
Peter_Jodeleit
Crownpeak employee

Ja, z.B. über $CMS_SET(#global.context.parentContext["xxxx"], "xxx")$ kann man etwas in den übergeordneten Kontext schreiben. Der Zugriff erfolgt dann ganz normal über $CMS_VALUE(xxxx)$

Peter
hoebbel
Crownpeak employee

Hallo René,

sind in dem Absatzbereich immer die selben Absätze drin?

Wenn  ja, dann wäre ja die Anforderung, vor jedem Absatz außer dem Ersten eine entsprechende Trennlinie auszugeben.

Das würde ich wiederum mittels

$CMS_IF(#global.section.parent.getChildIndex(#global.section) == 0)$

prüfen, anstatt eine Variable in den Context zu schreiben.

Der letzte Absatz ist übrigens

$CMS_IF(#global.section.parent.getChildCount()-1 == #global.section.parent.getChildIndex(#global.section))$

falls Du anders herum prüfen willst Smiley Wink

Viele Grüsse aus Dortmund,

  Holger

0 Kudos