#123: Aufbau des Videoarchivs, Teil 2 (Navigation)

Wir haben gerade einen spannenden Teil dieses Redesigns abgeschlossen, bei dem wir eine Menge unsauberen Markup in der Seite des Videoarchivs wegwerfen und durch neues, intelligentes, sauberes, automatisch generiertes Markup ersetzen konnten. Aber wir haben noch mehr Arbeit an diesen Archivseiten zu erledigen. Da die Archive automatisch in Gruppen generiert werden, benötigen wir Navigation (eigentlich Paginierung), um zu älteren Gruppen von Screencasts zu gelangen.

In der Vergangenheit, da wir das gesamte Markup manuell geschrieben haben, konnten wir diese Paginierung zu einem statischen Teil der Seite machen. Das stört mich im Allgemeinen nicht, aber das ist einfach nicht mehr möglich. Wenn wir jetzt einen neuen Screencast veröffentlichen, wird ein Screencast vom Ende der ersten Seite auf die zweite Seite verschoben. Wenn man also etwas wie "#115 – #95" in statischem Code sagt, ist das nur für eine sehr kurze Zeit korrekt.

Zuerst bringen wir das Styling in Ordnung, indem wir einige Black-Bar-Navigationsklassen verwenden, die wir auch anderswo verwendet haben (wie auf einzelnen Snippet-Seiten).

Dann machen wir uns daran, die Paginierung tatsächlich zum Laufen zu bringen. In WordPress können Sie etwas wie "/page/2" an die URL anhängen, und es wird immer noch dieselbe Seite gerendert, die es vorher gerendert hat, nur dass Sie dann Zugriff auf eine globale Variable namens $paged haben, die auf "2" gesetzt wird. Wir könnten diese Zahl in unserer Abfrage verwenden, um anzupassen, welche Videos wir anzeigen. Aber anstatt es auf diese Weise zu tun, hat WordPress einen noch intelligenteren Weg, damit umzugehen, und das ist das Hinzufügen von 'paged' => $paged zur Abfrage. Das berücksichtigt einige seltsame Berechnungen, die passieren, wenn wir versuchen, den Offset selbst zu handhaben.

Wir passen die URLs in unserer statischen Navigation an, um diese neuen Links im Paginierungsstil widerzuspiegeln. Das Problem ist jetzt, dass die Zahlen in den Links nicht mehr korrekt sind. Wir versuchen zuerst etwas Einfaches wie "5, 4, 3, 2, 1". Aber das fühlt sich etwas lahm und langweilig an, und es ist auch verwirrend, da diese Zahlen nicht mit den tatsächlichen Paginierungszahlen übereinstimmen.

Wir decken eine seltsame Reihenfolge von Videos auf, die etwas beunruhigend ist. Wir passen die Abfrage in Bezug auf die Sortierung an, aber es gibt immer noch einige Probleme. Letztendlich entscheiden wir, dass wir sie nach Datum sortieren müssen, und einige Anpassungen an den Veröffentlichungsdaten der Screencasts müssen nach dem Live-Schalten der Website vorgenommen werden. Fleißarbeit, aber gut für die Langzeit.

Letztendlich (ich glaube, außerhalb des Videos) verwenden wir eine griechische Paginierung (Alpha, Beta, Gamma), die in ihrer Willkürlichkeit funktioniert (ähnlich wie unsere willkürliche Benennung von Media Queries nach den drei Bären). Das heißt, "Zeta" klingt später und ist dunkler grau, also ist die Metapher für "älter" vollständig.