Step Back

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

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 %}

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.

CSS - Das Buch für den Webentwickler in der neuen Auflage. Hier findet sich das vollständige Wissen zu CSS und Co. in einem Band. Einsteiger erhalten eine fundierte Einführung, professionelle Webentwickler einen Überblick über alle CSS-Technologien und Praxislösungen für CSS-Layouts sowie Tipps, um aus dem täglichen Webeinerlei herauszukommen. Zahlreiche aktuelle Themen wie HTML5 und CSS3, CSS-Transitions, objektorientiertes CSS, JavaScript-Fallbacks, Responsive Webdesign mit CSS sowie viele Praxisbeipiele machen das Buch zu einem unentbehrlichen Werk für die tägliche Arbeit.

Über Amazon unterstützen

Probelesen?

© CMSWorkbench.de

navigation menue seite

about me

About me

Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.