Beiträge und Kategorien rekursiv anzeigen


Die Standard URL für den Admin Login in Datenstron Yellow und wie Sie ihn verstecken bzw. verbergen. So schützen Sie sich vor einem Hacker-Angriff auf das CMS

Die Seitenkollektion rekursiv mit Yellow auflisten

Datenstrom Yellow zeigt in der Standardinstallation die verfügbaren Ordner bzw. Kategorien an. Wollen Sie jedoch Ordner mit den enthaltenen Beiträgen anzeigen, kann Ihnen das folgende Listing weiterhelfen:

<?php 
    $pages = $this->yellow->content->index(true, true);
    foreach ($pages as $page) {
        if ($page->getParent()) {
            echo '<a href="'.$page->getUrl().'" class="small">'.$page->getHtml("title").'</a> - ';
        }
        else {
            echo '<p class="my-3 lead"><a href="'.$page->getUrl().'">'.$page->getHtml("title").'</a></p>';
        }
    } 
?>

Das Coding ermittelt die Seitenkollektion des gesamten CMS, während der IF prüft, ob eine Elternseite existiert oder nicht, ist dies der Fall werden die Beiträge eines Ordners aufgelistet, andernfalls handelt es sich um den Ordner selbst der als Absatz angezeigt wird. In etwa zeigt sich das folgende Schema.

  • Ordner 1
    • Artikel 1.1 - Artikel 1.2 - Artikel 1.3 - Artikel 1.4 - Artikel 1.5 - Artikel 1.6 - Artikel 1.7 - Artikel 1.8
  • Ordner 2
    • Artikel 2.1 - Artikel 2.2 - Artikel 2.3 - Artikel 2.4 - Artikel 2.5

Alternativen mit der Yellow CMS toolbox

Bekanntlich führen viele Wege nach Rom, so auch hier. Zwar ist das oben gezeigte Coding das kürzeste für diese Aufgabe aber es gibt noch weitere Befehle die das gleiche Resultat erbringen können. Die Yellow toolbox bietet zwei weitere Varianten:

toolbox->getDirectoryEntries($path, $regex = "/.*/", $sort = true, $directories = true, $includePath = true)
toolbox->getDirectoryEntriesRecursive($path, $regex = "/.*/", $sort = true, $directories = true, $levelMax = 0): array

Aus der Yellow toolbox können die Methoden getDirectoryEntries() oder getDirectoryEntriesRecursive() verwendet werden. In zwei kaskadierten Schleifen liefern sie ein ähnliches Ergebnis, allerdings arbeiten die beiden Methoden stärker auf LowLevel-Ebene, also auf der physikalischen Dateiebene.

Link zur Yellow Doku

https://datenstrom.se/de/yellow/help/api-for-developers#yellow-toolbox


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. 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 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

Oliver Lohse
2023-02-01
Navigation, Menue, Ordner, Post
post
Kontakt@Oliver-Lohse.de

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.