Jyavani CMS bietet jetzt eine stabile Seitennavigation für veröffentlichte Shortcode-Presets. Damit kann eine wiederverwendbare Sammlung festlegen, wie viele Einträge pro Seite erscheinen, wie viele Treffer insgesamt verfügbar sind und an welcher Position die Sammlung beginnt. Auch eine zufällige Sortierung bleibt beim Wechsel zwischen Seiten stabil.
Die Funktion ist in Jyavani Core 2.3.161 verfügbar und gilt für die integrierte Quelle Posts and Pages. Sie eignet sich für wiederverwendbare Listen in Inhalten, Sidebars, Vorschauen und Theme Sections, ohne die Abfrage in jedes Theme-Template zu kopieren.
Warum die Preset-Paginierung wichtig ist
Ein Shortcode-Preset speichert eine Inhaltsabfrage und das zugehörige Collection Layout als wiederverwendbare Einheit. Größere Sammlungen können dadurch direkt im Preset paginiert werden, statt eine separate Route oder Template-Logik zu benötigen.
Dasselbe Preset kann weiterhin in unterschiedlichen Kontexten dargestellt werden. Eine Sidebar kann das kompakte Layout mini verwenden, während eine Theme Section ein breiteres Raster und mehrere Seiten aktiviert. Die Abfrage bleibt zentral verwaltet.
Die vier wichtigsten Einstellungen
Limit
Limit bestimmt die Anzahl der Einträge pro Seite. Ohne aktivierte Paginierung bleibt dieser Wert die Gesamtzahl der gerenderten Einträge.
Max Items
Max Items begrenzt die Zahl der Treffer über alle Seiten hinweg. Die Paginierung ist nur verfügbar, wenn Max Items größer als Limit ist. Limit 5 und Max Items 20 ergeben beispielsweise bis zu vier Seiten.
Offset
Offset überspringt Treffer vor Seite 1. Ein Offset von 10 entfernt die ersten zehn passenden Datensätze, bevor die paginierte Sammlung beginnt; der Wert bedeutet nicht „auf Seite zwei beginnen“.
Pagination
Aktivieren Sie Pagination, nachdem Max Items auf einen höheren Wert als Limit gesetzt wurde. Core rendert zunächst normale Links als Fallback ohne JavaScript und erweitert sie anschließend im Browser um AJAX-Navigation.
Ein paginiertes Preset konfigurieren
- Öffnen Sie Shortcodes und wählen Sie ein vorhandenes Preset oder erstellen Sie ein neues.
- Wählen Sie Posts and pages als Inhaltsquelle.
- Wählen Sie Article oder Page und konfigurieren Sie Kategorie, Autor, Datum und Sortierung.
- Setzen Sie Limit auf die gewünschte Seitengröße.
- Setzen Sie Max Items auf einen höheren Wert als Limit.
- Verwenden Sie Offset nur, wenn erste Treffer bewusst übersprungen werden sollen.
- Setzen Sie Pagination auf Yes und prüfen Sie das Ergebnis mit Preview with Real Data.
- Speichern Sie das Preset nach der Prüfung von Layout, Leerzustand und Navigation.
Stabiles AJAX und Browser-Verlauf
Jede paginierte Sammlung erhält einen deterministischen Query-Key aus der effektiven Preset-Identität und den unterstützten Overrides. Unterschiedliche Konfigurationen auf derselben Seite bleiben isoliert, während mehrere Instanzen derselben effektiven Abfrage synchron bleiben.
Die AJAX-Navigation bewahrt andere Query-Parameter, aktualisiert die Browser-URL, unterstützt die Zurück-Schaltfläche und setzt den Fokus auf die aktualisierte Sammlung. Normale Links bleiben als progressiver Fallback bestehen.
Zufällige Reihenfolge ohne springende Einträge
Eine gewöhnliche Zufallsabfrage kann sich bei jedem Laden neu sortieren. Beim Seitenwechsel können dadurch Duplikate oder ausgelassene Einträge entstehen. Jyavani weist der paginierten Sammlung deshalb einen begrenzten Zufalls-Seed zu. Seitenwechsel und Browser-Verlauf behalten diesen Seed bei, sodass eine Navigation eine konsistente Reihenfolge verwendet.
Ein Theme kann eine eigene Aktion zum erneuten Mischen anbieten. Diese entfernt gezielt die bisherigen Seiten- und Seed-Werte, bewahrt aber andere, unabhängige Query-Parameter.
Ein Preset aus einer Theme Section verwenden
Preset-basierte Theme Sections trennen Daten und Darstellung. Das Preset besitzt Quellfilter und Collection Layout. Die Theme Section besitzt Überschrift, Zusammenfassung, Wrapper und bewusst gesetzte Darstellungs-Overrides.
<?= render_shortcode_preset(
$pdo,
'featured_articles',
[
'layout' => 'grid',
'limit' => 4,
'max_items' => 20,
'pagination' => '1',
],
['surface' => 'theme_section.home.featured']
) ?>
Runtime-Overrides sind absichtlich begrenzt. Sie können weder die geschützte Quellzuordnung noch Autor-, Ersteller- oder Datumsfilter ersetzen. Eine wiederverwendbare Section kann dadurch die im Preset gespeicherte Abfragerichtlinie nicht unbemerkt ändern.
Aktueller Umfang und praktische Prüfungen
- Die Core-Paginierung gilt derzeit für die integrierte Quelle Posts and Pages.
- Ein benutzerdefinierter Source Provider bleibt ein Provider für einen einzelnen Batch, sofern kein separates provider-eigenes Verhalten implementiert ist.
- Die Paginierung ist inaktiv, wenn Max Items kleiner oder gleich Limit ist.
- Prüfen Sie normale Links, AJAX-Navigation, Browser-Zurück, mehrere Preset-Instanzen und Zufallssortierung vor der Veröffentlichung einer Theme-Integration.
- Umfangreiche Homepage-Darstellung gehört in registrierte Theme Sections, nicht in duplizierte Preset-Abfragen innerhalb von Templates.
Die stabile Preset-Paginierung macht größere wiederverwendbare Sammlungen praktikabel, ohne Progressive Enhancement oder klare Abfragezuständigkeiten zu schwächen. Theme-Entwickler erhalten zugleich eine saubere Grenze: Daten werden einmal im CMS konfiguriert und anschließend durch eine auf Gestaltung fokussierte Präsentationsschicht zusammengesetzt.