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

Inhalt

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


Oliver Lohse
2023-02-01
Navigation, Menue, Ordner, Post
post
9