Plugin PicoPageList Anpassen

Der Beitrag zeigt, wie Sie mit dem Plugin PicoPagesList.php weitere Beiträge des aktuellen Ordners azeigen lassen können, um diese in ein Menü aufzunehmen.

Inhalt

Das Plugin PicoPageList

Das Pico CMS bietet das Plugin PicoPagesList.php an, welches durch Übergabe des Pfad-Parameters ein Verzeichnis nach Beiträgen durchsucht. Wünschenswert wäre es, wenn das Plugin im Standardzustand einfach das aktuelle Verzeicnis bzw Unterverzeichnis anlistet in dem sich der Leser befindet. Damit dies funktioniert, muss das Template das aktuelle Verzeichnis durchsuchen in dem sich der aktuell angezeigte Post befindet.

008  {% set tmp = current_page.id %}
009  {% set path = "" %}
010
011  {% for key in tmp|split('/',-1) %}
012      {% set path = [path, key, '/']|join %}
013  {% endfor %}
014
015  <h3>Weitere Beiträge</h3>
016  <hr>
017  <a href="{{base_url}}">home</a><br>
018  {{ pages | only(path) | navigation }}

Code

Wenn Sie das oben gezeigte Codeschnipsel in die Post-Vorlage des TWIG-Templates einbinden, dann erscheint eine Liste weiterer Beiträge des Ordners in dem sich auch der gerade angezeigte Post befindet.

Zeile 8: nimmt den aktuellen Pfad beginnend vom Ordner content auf.

Zeile 9: diese Variable erhält später den vollständigen Pfad abzüglich des aktuell angezeigten Post

Zeile 11: Die vollständige URL die in tmp steckt, wird anhand des "/" aufgetrennt und in das Array key kopiert. Der Wert -1 zieht die aktuell angezeigte Beitrags-URL am rechten Ende ab, sodass ausschließlich der reine Ordner-Pfad übrig bleibt, aus: /thema-1/ordner-1/beitrag-1 wird folglich /thema-1/ordner-1.

Zeile 12: Konkatiniert die einzelnen Elemente des Arrays [thema-1] + "/" + [ordner-1] + "/" mit Hilfe des Twig- join zur Variable path zusammen.

Zeile 17: zeigt den festen Link zur Startseite.

Zeile 18: Ruft das Plugin PicoPagesList.php auf und lässt es ausschließlich den aktuellen Ordner durchsuchen und zeigt infolge dessen, weitere Beiträge zum aktuellen an, die ebenfalls im selben Ordner liegen.


FlightCMS
2024-01-28
PHP8
post
0