In den Layouts oder dem Haupt-/Seitentyp Template (index.tpl, body.tpl) können Sie auch auf bestimmte Werte aus den Blöcken zugreifen. Auch der Zugriff auf Werte anderer Seiten ist möglich. Dafür gibt es die Page Methoden getValue oder getFirstValue. Beide Methoden erwarten als ersten Parameter den Namen des abzurufenden Feldes (entspricht dem Namen aus {value} in einem Block).
Standardmäßig wird der zweite Parameter für die Orientierung auf center und der dritte Parameter für die Position auf 0 gesetzt. Sollten Sie einen Wert für ein Feld einer anderen Orientierung oder Position benötigen, können Sie entsprechend die Parameter übergeben.
Der Unterschied bei getFirstValue ist, dass hier kein dritter Parameter für die Position existiert. Diese Methode findet den ersten gesetzten Wert der angegebenen Orientierung und gibt dieses zurück. So könnte man z.B. auf einer Übersichtsseite das erste Bild im gesamten Inhalt ermitteln.
{get_children var="children" page=$page}
{foreach from=$children item="child"}
<img src="{$child->getFirstValue('image1')}" alt="preview"/>
{/foreach}
Für Bilder empfehlen wir anstatt dem IMG Tag besser das PICTURE Tag zu verwenden. Dieses bietet Ihnen die Möglichkeit für unterschiedliche Auflösungen des Browsers automatisch das optimale Bild zu verwenden. Für diesen Fall gibt es das Smarty Plugin {picture} und vereinfacht Ihnen diesen Schritt.
{get_children var="children" page=$page}
{foreach from=$children item="child"}
{picture src=$child->getFirstValue('image1') attr.alt="preview"}
{/foreach}
Folgende Parameter sind für {picture} möglich.
- src: Der Pfad zum Bild.
- attr: Eine Liste von zusätzlichen HTML Attributen für das Basis IMG Element.
- srcset: Unterstützte Auflösungen. Standardmäßig ist dieser Wert vom System bereits sinnvoll gesetzt und kann von Ihnen ignoriert werden. Falls Sie ihn doch anpassen möchten, wird hier eine kommaseparierte Liste mit Breiten erwartet.
- href: Eine URL, auf die weitergeleitet wird, wenn man auf das Bild klickt.
getValues(name, orient)
getBlockValue(block, name, orient, index)
getBlockValues(block, name orient)
getFirstBlockValue(block, name, orient)