Template-Variablen

  • Man kann einige Variablen in den Fluid-Templates benutzten. Die werden nun hier erklärt. Zuerst findet man die Variablen, die man in normalen Templates benutzen kann, dann diejenigen, die man zusätzlich in den erweiterten Templates benutzen kann.

Variable

Beschreibung (Beispiele findet man in List.html und Show.html)

fal

Immer 1. Früher: Bilder aus dem FAL (1) oder aus dem Ordner uploads/camaliga (0) benutzen?

lang

UID der Sprache.

uid

UID des Plugin (Content-Element ID).

pid

PID des Plugin (Seiten-ID).

storagePIDsArray

Array mit den PIDs der Datensatzsammlung.

storagePIDsComma

Komma-separierte Liste der PIDs der Datensatzsammlung.

contents

Array mit den Camaliga-Elementen. Das Array enthält diese Variablen mit Tabellen-Inhalten:

title, shortdesc, longdesc, link, image, image2, caption2, image3, caption3, image4, caption4, image5, caption5, street, zip, city, country, latitude, longitude, person, phone, mobile, email, custom1, custom2, custom3, categories.

Weiterhin ganz wichtig für JavaScript: titleNl2br, shortdescNl2br, longdescNl2br und streetNl2br.

Die Links werden im TypoLink-Format abgespeichert, weshalb noch weitere Variablen zur Verfügung stehen. linkResolved enthält nun den Pfad zu einer Datei, anstatt file:123 (wie link). Natürlich sollte das auch für andere Link-Arten normal sein, ist es im Moment aber nicht. Dafür gibt es noch die Variable links, die ein Array zurückgibt. Das ist hilfreich, wenn man mehrere Links speichern will oder wenn man den Typ des Links wissen will. Die Array-Keys lauten: link und type. type gleich 0: kein Link; 1: interner Link; 2: externer Link; 3: Datei; 4: Email-Adresse. Ein Beispiel sieht man weiter unten. In den Templates wird nun f:link.typolink benutzt, sodass man besser alles gleich bei der Linksetzung angibt.

Und wenn man die Camaliga-Tabelle erweitert: extended. Das ist ein Array mit den erweiterten Feldern.

settings

Siehe TypoScript-Einstellungen.

onlySearchForm

Wert, ob nur ein Suchformular angezeigt werden soll.

paddingItemWidth

Element-Breite + 2*padding.

totalItemWidth

Element-Breite + 2*padding + 2*margin.

itemWidth

Hängt von "addPadding" ab: Element-Breite ODER paddingItemWidth.

totalWidth

n * totalItemWidth.

paddingItemHeight

Element-Höhe + 2*padding.

totalItemHeight

Element-Höhe + 2*padding + 2*margin.

itemHeight

Hängt von "addPadding" ab: Element-Höhe ODER paddingItemHight.

debug

Debug-Ausgabe, wenn settings.debug=1.

  • Benutze ein erweitertes Template nur dann, wenn du diese zusätzlichen Variablen brauchst:

Variable

Beschreibung (Beispiele findet man in ListExtended.html)

sortBy_selected

Übergabevariable sortBy.

sortOrder_selected

Übergabevariable sortOrder.

start

Übergabevariable start.

defaultCatIDs

Settings.defaulCatIDs.

storagePIDsData

Array mit den Datensatzsammlungs-PIDs und der Info, welche davon ausgewählt sind.

all_categories

Array mit allen Kategorien.

categories

Array mit Kategorien und den übergeordneten Kategorien.

contents.categoriesAndParents

Array mit allen benutzten Kategorien und den übergeordneten Kategorien.

sword

Volltext-Such-Wort.

place

Ort, der gesucht wird.

radius

Ausgewählter Radius in km.

radiusArray

Auswählbare Radius-Werte.

rsearch

Wert, der sagt, ob die Umkreissuche aktiv ist.

  • Wenn settings.more.setModulo = 1 gesetzt wird, gibt es noch diese Variablen (abhängig von settings.item.items):

Variable

Beschreibung (Beispiel findet man in Ekko.html)

contents.moduloBegin

>0 nach jedem settings.item.items Element. 0 sonst. Beginnt beim 1. Element.

contents.moduloEnd

>0 nach jedem settings.item.items Element. 0 sonst. Beginnt beim [items]-Element.

Hier noch ein Beispiel, wenn man nicht f:link.typolink benutzen will:

<f:if condition="{content.link} != ''">
      <f:if condition="{content.linkResolved} != ''">
              <f:then><a href="{content.linkResolved}" class="download">{f:translate(key: 'more')}</a></f:then>
              <f:else>
                      <f:if condition="{content.link} > 0">
                              <f:then><f:link.page pageUid="{content.link}" class="internal-link">{f:translate(key: 'more')}</f:link.page></f:then>
                              <f:else><f:link.external uri="{content.link}" class="external-link-new-window">{f:translate(key: 'more')}</f:link.external></f:else>
                      </f:if>
              </f:else>
      </f:if>
</f:if>