Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:bigace:developer:code_snippets:prevnext_links

Umblättern: nächste/vorherige Seite

FIXME - this article is not completed! Informations might be wrong or missing.

Dieser Artikel beschreibt, wie man zwischen den Seiten eines Menus hin- und herblättern kann.

Hinweis:
Der code dient nicht dazu, content auf mehrere navigierbare Seiten aufzuteilen (z.B. die umfangreiche Ausgabe einer Datenbankabfrage). Diese automatisierte Aufteilung nennt man „Pagination“. Hierfür gibt es das tool SmartyPaginate.

Füge folgenden Code an der entsprechenden Stelle (vermutlich am Ende bzw. im Footer) in deinem Template ein:

{load_item_childs id=$MENU->getParentID() assign="sisters"}
{if count($sisters) > 0}
  {foreach from=$sisters item="cur"}
    {if isset($last) && $last->getID() == $MENU->getID()}
      {assign var="next" value="$cur"}
    {/if}
    {if !isset($next) && $cur->getID() != $MENU->getID()}
      {assign var="prev" value=$cur}
    {/if}
    {assign var="last" value=$cur}
  {/foreach}
{/if}

Erläuterung:
Dieser code findet heraus, ob die aktuelle Seite Geschwister-Seiten hat (also ob es weitere Seiten im aktuellen Menu gibt), und wenn ja, welche die vorherige („$prev“) und welche die folgende Seite („$next“) ist.

Nun müssen diese beiden „Items“(„$prev“ und „$next“) noch verlinkt werden:

{if isset($prev) || isset($next)}
  <div>
    {if isset($prev)}
      <a href="{link item=$prev}">Letzte Seite</a>
    {/if}
    {if isset($next)}
      <a href="{link item=$next}">Nächste Seite</a>
    {/if}
  </div>
{/if}

Anstelle der Texte „Letzte“ bzw. „Nächste Seite“ kann hier natürlich auch eine Grafik (ein Pfeil, etc.) eingefügt werden:

<img src:"link/auf/prev.png">
<img src:"link/auf/next.png">

Und schon macht BIGACE den Rest wie von Geisterhand…

de/bigace/developer/code_snippets/prevnext_links.txt · Zuletzt geändert: 2008/10/29 13:03 von kevin