Startseite
Startseite

Startseite / Vorlagenentwicklung / Vorlagensyntax / Systemobjekte / #global / projektbezogen

projektbezogene #global-Aufrufe

Die Anforderungen einer Web-Site können es erforderlich machen, auf die Einstellungen oder andere Projektinformationen zuzugreifen. Soll beispielsweise innerhalb der Web-Site ein Sprachwechsel ermöglicht werden, ist es sinnvoll zuvor die definierten Projektsprachen zu ermitteln.

Für solche Einsatzzwecke bietet das Systemobjekt #global die Möglichkeit auf Eigenschaften des Projekts zuzugreifen. Dazu wird der Ausdruck #global.project verwendet, der ein Objekt vom Datentyp Project zurückliefert.

In der nachfolgenden Tabelle sind die wichtigsten Aufrufe aufgeführt:

Aufruf

Bedeutung

Rückgabedatentyp

#global.project.brokenLinkMedia

Liefert den Namen des eingestellten Ersatzmediums zurück

String
(Zeichenkette)

#global.project.brokenLinkPage

Liefert den Namen der eingestellten Ersatzseite zurück.

String
(Zeichenkette)

#global.project.description

Liefert die Beschreibung des Projekts zurück.

String
(Zeichenkette)

#global.project.id

Liefert die ID des Projekts zurück.

Long

#global.project.groups

Liefert alle Gruppen eines Projektes zurück.

List<Group>

#global.project.languages

Liefert alle Sprachen eines Projektes zurück. Mit der Methode .shouldGenerate() des Datentyps Language kann geprüft werden, ob eine Sprache generiert wird oder nicht.

List<Language>

#global.project.masterLanguage

Liefert die Mastersprache eines Projekts zurück.

Language

#global.project.masterLanguage.abbreviation

Liefert das Kürzel der Mastersprache eines Projekts zurück.

String
(Zeichenkette)

#global.project.masterLanguage.name

Liefert den Namen der Sprache zurück, die gerade erzeugt wird, z.B. Deutsch, English usw.

String
(Zeichenkette)

#global.project.name

Liefert den Namen des Projekts zurück.

String
(Zeichenkette)

#global.project.originalResolution

Liefert die Originalauflösung zurück.

Resolution

#global.project.resolutions

Liefert alle Auflösungen eines Projektes zurück. Mit der Methode .isOriginal() des Datentyps Resolution kann geprüft werden, ob die Auflösung die Orignalauflösung ist.

List<Resolution>

#global.project.templateSets

Liefert alle Präsentationskanäle eines Projektes zurück.

List<TemplateSet>

#global.project.users

Liefert alle Benutzer eines Projektes zurück.

List<User>

   

Beispiele

Nachfolgend werden einige Beispiele zur Verwendung der Anweisung innerhalb von Vorlagen gezeigt. Die Beispiele sollen die konkrete Auswirkung der Anweisung verdeutlichen und eine Hilfe für den Vorlagenentwickler bei der Erstellung eigener Vorlagen sein.

Wichtig Für die Verwendung innerhalb eines Projekts, müssen die hier gezeigten Beispiele angepasst werden! Beispielsweise müssen Variablennamen auf die spezifischen Variablennamen des Projekts geändert werden, in dem die Anweisung verwendet werden soll.

1. Beispiel: Drop-Down-Box mit allen generierten Projektsprachen

<select size="1" name="language" onchange="window.location.href=this.options[this.selectedIndex].value">
$CMS_FOR(l, #global.project.languages)$
$CMS_IF(l.shouldGenerate)$
<option value="$CMS_REF(#global.node, lang:l.abbreviation)$">$CMS_VALUE(l.name + " (" + l.abbreviation + ")")$</option>
$CMS_END_IF$
$CMS_END_FOR$
</select>

Im Beispiel werden alle Projektsprachen mit #global.project.languages ermittelt. Mit der $CMS_FOR(...)$-Anweisung wird nun jede einzelne Projektsprache behandelt. Ist die Option Sprache generieren für die Sprache aktiviert (Projekteinstellungen: Sprachen; Überprüfung mit .shouldGenerate()), wird ein Drop-Down-Box-Eintrag ausgegeben. In der Drop-Down-Box wird der Name der Sprache und zusätzlich (in Klammern eingefasst) die Abkürzung angezeigt. Das Ziel des Eintrags ist die aktuelle Seite in der entsprechenden Sprache.

Exemplarische Ausgabe:

<select size="1" name="language" onchange="window.location.href=this.options[this.selectedIndex].value">
<option value="/preview/671041/show/site/DE/current/671044/681046">Deutsch (DE)</option>
<option value="/preview/671041/show/site/EN/current/671044/681046">English (EN)</option>
<option value="/preview/671041/show/site/ES/current/671044/681046">Español (ES)</option>
</select>

2. Beispiel: Ausgabe eines Bildes in allen Projektauflösungen

$CMS_FOR(r, #global.project.resolutions)$
<p>
$CMS_IF(r.isOriginal)$
<img src="$CMS_REF(media:"florida")$"/>
<p>Bild -
unskaliert
- ($CMS_VALUE(ref(media:"florida").width)$x$CMS_VALUE(ref(media:"florida").height)$)</p>
$CMS_ELSE$
<img src="$CMS_REF(media:"florida", res:r)$" />
<p>Bild -
$CMS_IF(r.width > 0)$
breitenskaliert
$CMS_IF(r.height > 0)$
und höhenskaliert
$CMS_END_IF$
$CMS_ELSIF(r.height > 0)$
höhenskaliert
$CMS_END_IF$
- ($CMS_VALUE(ref(media:"florida", res:r).width)$x$CMS_VALUE(ref(media:"florida", res:r).height)$)</p>
$CMS_END_IF$
</p>
$CMS_END_FOR$

Im Beispiel werden alle Auflösungen mit #global.project.resolutions ermittelt. Mit der $CMS_FOR(...)$-Anweisung wird nun jede Auflösung einzeln behandelt:

  • Handelt es sich um die Originalauflösung (.isOriginal), so wird das Bild unskaliert mit dem Text "Bild - unskaliert - " und der Breite und Höhe in Pixel ausgegeben.
  • Bei anderen Auflösungen wird das Bild in der entsprechenden Auflösung ausgegeben. Dabei wird ermittelt, ob das Bild in der Breite und/oder Höhe skaliert wird und anschließend die entsprechende Breite und Höhe in Pixel ausgegeben. Ein Bild wird immer dann skaliert, wenn entweder die Breiten- oder die Höhenangabe in der Auflösung einen Wert größer als 0 aufweist.

Exemplarische Ausgabe:

<p>
<img src="/preview/671041/show/media/DE/current/773042/ORIGINAL"/>
<p>Bild - unskaliert - (4134x2766)</p>
</p>
<p>
<img src="/preview/671041/show/media/DE/current/773042/W100" />
<p>Bild - breitenskaliert -(100x67)</p>
</p>
<p>
<img src="/preview/671041/show/media/DE/current/773042/H100" />
<p>Bild - höhenskaliert -(149x100)</p>
</p>

© 2005 - 2014 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2008-01-16