bh:utility.arrayChunk  

    Dieser ViewHelper dient dazu, ein Array in mehrere Teile zu zerlegen.

    Dieser ViewHelper funktioniert ähnlich wie folgende PHP-Funktion: array_chunk

    Beispielsweise möchte man eine Liste in drei Spalten aufteilen, egal wie viele Einträge die Liste besitzt.
    Oder man möchte die Liste in beliebig vielen Zeilen aufteilen, wobei immer drei Listeneinträge gruppiert werden.
    Dafür gibt es zwei unterschiedliche Modi:

    •  "columns" Mode: teilt die Einträge in genau x-Spalten.
      Dabei ist es egal, wie groß die Spalten werden.
      Typisches Beispiel: drei-spaltige Servicenavigation
    • "rows" Mode: teilt die Einträge in genau x-Zeilen.
      Immer x-Einträge werden gruppiert. Dabei ist es egal, wie viele Spalten am Ende entstehen.
      Typisches Beispiel: Fader mit x-Einträge.

    Die Einträge lassen sich nicht immer in genau x-Spalten oder x-Zeilen unterteilen.
    Das stellt ein Problem dar, da beispielsweise eine HTML Tabelle immer eine fixe Anzahl an Spalten und Zeilen benötigt.
    Aus diesem Grund werden die Spalten oder Zeilen mit leeren Einträgen aufgefüllt.

    Attribute

    NameBeschreibungTypedefaultrequired
    arrayDas Array, das geteilt werden sollarray-true
    countDie Anzahl, nach wie vielen Elementen geteilt werden soll. Bei 'columns'-Mode gibt diese Anzahl an, auf wie viele Spalten die Einträge aufgeteilt werden sollen. Bei 'rows'-Mode gibt sie an, wie viele Einträge zusammen in Zeilen gruppiert werden sollen.integer-true
    mode'columns' oder 'rows' Modestring-true
    emptyPlatzhalter, mit dem leere Einträge aufgefüllt werden sollenstringNULLfalse
    preserveKeysGibt an, ob die ursprünglichen Keys beibehalten werden oder nichtbooleanfalsefalse
    asBezeichnet die Variable, in der das resultierende Array gespeichert werden sollstringchunkfalse

    Beispiel

    html
    <bh:utility.arrayChunk array="{newsitems}" count="3" mode="rows" as="chunkednews"> <f:for each="{chunkednews}" as="newslist"> {newslist.text} </f:for> </bh:utility.arrayChunk>