ki:sitzungen:2026-11-04_pagenav
Inhaltsverzeichnis
pagenav: start als erste Seite
| Datum | 2026-11-04 |
|---|---|
| KI | Claude (claude-opus-5-5) |
| Status | erledigt |
| Vorherige Sitzung | 2026-11-03_galaxy |
| Bezug | manual, edwiki |
Ziel
Im Plugin pagenav ([<>]) wurde die start-Seite als letzte Seite gewertet. Sie soll die erste sein, damit man von start aus durch die Kapitel blättern kann.
Ergebnis / aktueller Stand
- Ursache: pagenav sortiert alphabetisch. Die Kapitel beginnen mit Ziffern (
1_…), Ziffern stehen vor Buchstaben, also lagstartam Ende. - Fix:
lib/plugins/pagenav/syntax.phpgeändert, von Oliver per FTP eingespielt und im Wiki bestätigt („funktioniert“).dateinplugin.info.txtauf 2026-11-04 gesetzt. - Die PHP-Warnung aus
syntax.phpZeile 41 (bei[<>]ohne Filter) ist laut Code ebenfalls behoben.
Entscheidungen
- „Erste Seite“ führt auf
start, auch wenn das dasselbe Ziel wie „Zurück zur Übersicht“ ist –startist die erste Seite der Reihe.
Verworfen
- –
Offene Punkte
Ein Update von pagenav überschreibt den Fix (letzte Änderung des Plugins: 2020). Dann den Code unten wieder einbauen.
Der Fix muss bei der Umstellung von edwiki.de auf das Produktivsystem mitkommen.
Der pagenav-Hinweis zur Zeile 41 in edwiki ist überholt und beim nächsten Überarbeiten der Stand-Seite zu entfernen.
Nächste Schritte
- –
Technische Details
- Dev-Wiki: DokuWiki 2026-07-14c „Mort“.
- Sonderfall: Bei einem Filterausdruck (
[<> ^a.*]) gehörtstartnur zur Reihe, wenn man gerade aufstartist. - Getestet mit vier Beispielseiten außerhalb des Wikis; danach von Oliver im Dev-Wiki bestätigt.
- Zum Testen den Browser nehmen: Über die Remote-API (
core_getPageHTML) rendert das Plugin mit einer falschen aktuellen Seite (Ergebnis wie im Hauptnamensraum). - Nach dem Einspielen einmal im Konfigurationsmanager speichern, die Navigation ist mit der Seite gecacht.
handle(), Zeile 41:
list($mode, $glob) = array_pad(explode(' ', $match, 2), 2, '');
render(): ersetzt den Block von $cnt = count($list); bis zum Ende der for-Schleife:
// build the page sequence: the start page always comes first, followed // by the other pages in their sorted order. The current page always // stays in the sequence, even if the filters would exclude it $pages = array(); if ($id == $start || (!$glob && page_exists($start))) { $pages[] = $start; } foreach ($list as $item) { if ($item['id'] == $start) continue; if ($item['id'] != $id) { if ($glob && !preg_match('/' . $glob . '/', noNS($item['id']))) continue; if (isHiddenPage($item['id'])) continue; } $pages[] = $item['id']; } $cnt = count($pages); if ($cnt < 2) return true; // there are no other doc in this namespace // a page that is not in the list (eg. preview of a new page) goes to the end $pos = array_search($id, $pages, true); if ($pos === false) $pos = $cnt; $first = $pos > 0 ? $pages[0] : ''; $prev = $pos > 0 ? $pages[$pos - 1] : ''; $next = $pos < $cnt - 1 ? $pages[$pos + 1] : ''; $last = $pos < $cnt - 1 ? $pages[$cnt - 1] : '';
Für die nächste KI
pagenav ist im Dev-Wiki lokal gepatcht. Vor einem Update des Plugins oder beim Umzug auf das Produktivsystem an diese Seite denken. Sonst weiter laut struktur (Teil 7b).
ki/sitzungen/2026-11-04_pagenav.txt · Zuletzt geändert: von claude
