{scroll}

Verwenden Sie das {scroll} Smarty Plugin um eine Paginierung, bzw. Pagination darzustellen. Diesem Plugin kann ein Array oder ein Page_Iterator mit Page Objekten übermittelt werden. Aus dieser Liste wird dann automatisch ermittelt, welche Elemente für die aktuelle Seite angezeigt werden sollen. Auch enthält das Ergebnis dieses Plugins alle Informationen, um die möglichen Seitenzahlen zu generieren. Folgende Parameter werden unterstützt:

  • var: Hier wird das Ergebnis für die weitere Verwendung gespeichert.
  • page_list: Ein Array oder Page_Iterator mit Page Objekten.
  • page: Anstelle von page_list kann auch dieser Parameter verwendet werden. Für das hier übergebene Page Objekt wird dann automatisch die Methode getChildren() aufgerufen.
  • query: Sofern page übergeben wird, ist das das Array mit dem query Parameter für den getChildren() Aufruf.
  • param: Sofern page übergeben wird, ist das das Array mit dem param Parameter für den getChildren() Aufruf.
  • part_size: Die anzuzeigenden Elemente pro Seite (Standard: 2).
  • scroll_limit: Standardmäßig werden alle möglichen Seitenzahlen für die Generierung der Anzeige ausgeliefert. Optional können Sie hier eine Anzahl angeben, die vor und nach der aktuellen Seite genutzt werden soll. Wenn Sie z.B. aktuell auf der Seite 12 sind und der Wert für scroll_limit ist z.B. 3, dann erhalten Sie folgende Seitenzahlen: 9, 10, 11, 12, 13, 14, 15.
  • var_pos_name: Um festzustellen, auf welcher Seite sich die aktuelle Anzeige befindet, wird standardmäßig für die URLs der Seitenzahlen der URL Parameter pos gesetzt. Falls Sie einen anderen Parameter verwenden möchten, kann dieser hier überschrieben werden.
  • var_pos: Standardmäßig wird nach dem URL Parameter pos Ausschau gehalten, um die aktuelle Seite zu ermitteln. Über diesen Parameter kann der Wert für die aktuelle Seite auch direkt übergeben werden.
wb_incandescent

Wenn Sie die Parameter page und page_list gleichzeitig übergeben, werden die Page Objekte in page_list an den Ergebnissen aus getChildren() von page angehängt.

Das Ergbnis in var ist ein Array mit folgenden Elementen:

  • pages: Liste mit allen für die aktuelle Seite anzuzeigenden Page Objekten.
  • part_list: Liste mit allen verfügbaren Seitenzahlen, abhängig von part_size und scroll_limit. Die einzelnen Elemente haben folgende Eigenschaften:
    • name: Nummer der Seite.
    • url: URL der Seite.
    • active: Ist diese Seite die aktuelle Seite? Beinhaltet true oder false.
  • num: Anzahl aller Page Objekte (unabhängig von part_size).
  • size: Anzahl aller Page Objekte (abhängig von part_size).
  • left: Falls verfügbar, die URL für die Seite um eine Seite zurück zu blättern.
  • right: Falls verfügbar, die URL für die Seite um eine Seite vor zu blättern.
  • start: Falls verfügbar, die URL für die Seite um auf die erste Seite zu blättern.
  • end: Falls verfügbar, die URL für die Seite um auf die letzte Seite zu blättern.

Ein einfaches Bespiel könnte so aussehen:

{scroll var="result" page=$page part_size=10 scroll_limit=2} <ul> {foreach from=$result.pages item="child"} <li> {$child->field.name} </li> {/foreach} </ul> {if $result.left} <a href="{$result.left}">{t}zurück{/t}</a> {/if} {foreach from=$result.part_list item="p" name="pagelist"} {if $p.active} <b>[{$p.name}]</b> {else} <a href="{$p.url}">{$p.name}</a> {/if} {if !$smarty.foreach.pagelist.last} - {/if} {/foreach} {if $result.right} <a href="{$result.right}">{t}vor{/t}</a> {/if}