{scroll2}

 

Mit dem Scroll2 Plugin kann man performante Auflistungen von Pages, Dateien und Bilder aus dem Multimediamandant und dem Standardmandant machen.
Das Plugin lädt über Ajax so viele Ergebnisse, wie es das Limit definiert. Demnach werden nie alle Ergebnisse auf einmal geliefert und somit ist auch die Ladezeit der Seite kürzer.

Aufgrund der Tatsache, dass das Plugin mit Ajax arbeitet und über das Offset die nächsten Einträge holt, ist es auch nicht möglich mit diesem Scroll Plugin eine Pagination zu bauen. Sofern eine Pagination erwünscht ist, empfehlen wir das Vorgänger Scroll Plugin, welches allerdings weniger performant ist.

Scroll2 kann man keine Variable assignen, da dieses Plugin keinen Rückgabewert liefert.

wb_incandescent

möchte man einen Vor und Zurückbutton haben, so müssen sich diese Elemente innerhalb des selben Templates in der das {scroll2} definiert ist, befinden.

Das zu ladene Template wird anstelle des {scroll2} dargestellt.

Pos Attribut Typ Erforderlich Beschreibung
1 query.limit integer ja Anzahl an Einträge die geladen und angezeigt werden sollen
2 query.type string nein

über query.type kann man spezifischer Nachfahren, Children oder allgemein Seiten holen

3 query.order string nein

Man kann seine eigene Sortierung festlegen. Standardmäßig ist "c_date asc" festgelegt

4 query.descendant Page nein

ist dieser Parameter gesetzt, wird ein getDescendants() von dem Page Objekt aus ausgeführt. Wird kein query.descendant oder query.children festgelegt, dann wird standardmäßig ein getPages() gemacht.

5 query.children Page nein

ist dieser Parameter gesetzt, wird ein getChildren() von dem Page Objekt aus ausgeführt. Wird kein query.descendant oder query.children festgelegt, dann wird standardmäßig ein getPages() gemacht.

6 param.extra string nein

Damit kann man spezifisch Seiten holen die den übergebenen Extra Wert besitzen. z.B.: param.extra = 'extra.lang = de'

7 param.inactive boolean nein

Sowohl aktive als auch inaktive Seiten suchen.

8 param.fulltext string nein

damit werden nur Seiten gefunden, die im Inhalt den übergebenen Text besitzen.

9 lazyloading boolean nein

ermöglicht das Laden von neuen Seiten wenn der Inhalt im Viewbereich ist. Gleichzeitig kann man für die geladenen Elemente eine Animation festlegen

10 template string ja

Das Template muss im Skin Verzeichnis des Mandanten liegen und bestimmt die HTML Struktur wie die geladenen Elemente angezeigt werden sollen

11 container string nein

Der Parameter container kann mitübergeben werden um zu definieren was für Elemente um die HTML Struktur des Templates definiert werden sollen. z.B.: <div><ul><%></ul></div> -> in <%> werden Ergebnisse eingepflegt

12 button_next string

lazyloading -> nicht zwingend notwendig

default:
ja

Damit kann man als Parameter jeden x-beliebigen Selektor übergeben, welcher für das Anzeigen der nächsten Ergebnisse benötigt wird (wenn lazyloading false ist).

Sofern lazyloading true ist, kann man zum scrollen einen button_next Button definieren.

z.B.: button_next=".nextScroll"

13 button_prev string

lazyloading -> wird nicht verwendet

default:
ja

Damit kann man als Parameter jeden x-beliebigen Selektor übergeben, welcher für das Anzeigen der vorherigen Ergebnisse benötigt wird (wenn lazyloading false ist).

button_prev wird nicht verwendet, sofern lazyloading true ist.

z.B.: button_prev=".prevScroll

Beispiele:

// Scroll2 mit Lazyloading: {scroll2 container="<ul class='parent'><%></ul>" template="scroll.tpl" // Die Datei liegt als Beispiel in skin/Mandant lazyloading=true query.descendant=$mainPage query.limit=10 } // Scroll2 mit Lazyloading + Button_next {scroll2 container="<ul class='parent'><%></ul>" template="scroll.tpl" // Die Datei liegt als Beispiel in skin/Mandant lazyloading=true button_next=".nextScroll" query.descendant=$mainPage query.limit=10 } // Scroll2 ohne Lazyloading mit vor und Zurück Buttons {scroll2 container="<ul class='parent'><%></ul>" template="scroll.tpl" // Die Datei liegt als Beispiel in skin/Mandant button_next=".nextScroll" button_prev=".prevScroll" query.descendant=$mainPage query.limit=10 } // Scroll2 mit fulltext Suche {scroll2 container="<ul class='parent'><%></ul>" template="scroll.tpl" // Die Datei liegt als Beispiel in skin/Mandant lazyloading=true query.descendant=$mainPage query.limit=10 param.fulltext="Test" // Alternativ kann man auch $smarty.request.search_string nehmen um eine Suche zu bauen } // Scroll2 mit Suche nach Extra Feldern {scroll2 container="<ul class='parent'><%></ul>" template="scroll.tpl" // Die Datei liegt als Beispiel in skin/Mandant lazyloading=true query.descendant=$mainPage query.limit=10 param.extra="extra.lang = de" }