Step Back Template Navigation für Pico

Möchten Sie einen Zurück-Button in jedem Beitragsverzeichnis im PICO CMS implementieren, dann lesen Sie diesen Beitrag und nutzen das folgende Coding.

Inhalt

Step Back Navigation

Im CMS Pico gibt es leider keine vorgefertigte Methode, um aus einer tiefen Schachtelungsebene immer eine Ebene nach oben zur root aufzusteigen. Sie können daher das folgende kleine Codeschnipsel nutzen.

007  {% set path_back = "" %}
008  {% set path_url  = current_page.id %}
009  {% set path_url  = path_url|replace({'/index': ''}) %}
010
011  {% for directory in path_url|split('/', -1) %}
012      {% set path_back = [path_back, '/', directory]|join %}
013  {% endfor %}
014        
015  {% if path_back is empty %}
016      <a class="navbar-brand text-white" href="{{base_url}}">&#187; home &#171;</a>
017  {% else %}
018      <a class="navbar-brand text-white" href="?{{path_back}}">&#187; zurück: &ensp; {{path_back}} &#171;</a>
019  {% endif %}

Code

Das Codebeispeil ermittelt ausgehend von der angezeigten Seite den aktuellen Pfad, baut daraus einen Link auf mit dessen Hilfe der Leser immer zum übergeordneten Ordner gelangen kann, bis er letztendlich auf der Startseite der Domain angelangt ist. Erläuterung

007 - Variable die die vollständige Link-URL aufnehmen wird.

008 - Diese Variable enthält den Pfad inklusive der aktuellen Seite.

009 - mach aus: pfad-0/pfad-1/index den neuen Pfad: pfad-0/pfad-1, der Substring "/index" wird durch "" (nichts) ersetzt.

011 - Iterator durch das ARRAY directory, abzüglich des Verzeichnis in dem sich der Leser aktuell befindet (daher split -1). (siehe: Twig split)

012 - Konkatiniert (siehe: Twig join) einen neuen Pfad aus allen übergeordneten Einzel-Directorys zusammen und speichert dies in der Variable path_back ab.

015 - Ist path_back leer, steht der Leser entweder im ersten Unterordner oder auch der Startseite. In beiden Fällen wird der Link zur Startseite angezeigt.

018 - Ist path_back gefüllt, so steigt der Leser mit diesem Link immer einen Ordner weiter nach oben auf.

Das Codesegment ist im Kopfbereich gut aufgehoben, damit der Leser schnell und bequem sich nach oben navigieren kann. Das Beispiel ist speziell für das CSS-Framework Bootstrap entwickelt. Wenn Sie ein anderes CSS nutzen, müssen Sie die class-Angaben entsprechend anpassen oder weg lassen.


FlightCMS
2024-01-28
PHP8
post
0