Auf bestimmte Werte zugreifen

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.

wb_incandescent
Verwenden Sie die Smarty Variablen $_orient und $_index, um herauszufinden für welche Orientierung und welche Position der aktuelle Block gilt. Es stehen auch die Variablen $_layout und $_block zur Verfügung.
wb_incandescent
Wird getValue innerhalb eines Blocks verwendet, werden die Parameter für die Orientierung und Position automatisch gesetzt. So ist dieser Aufruf innerhalb eines Blocks immer in Abhängigkeit des aktuellen Blocks.

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-&gt;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.
warning
Verwenden Sie auch weitere Methoden um auf bestimmte Werte zu gelangen:
getValues(name, orient)
getBlockValue(block, name, orient, index)
getBlockValues(block, name orient)
getFirstBlockValue(block, name, orient)