Navigation Bereich
Dieses Skript holt den Titel oder den Menü-Eintrag (s. Einleitung) von Dateien eines Verzeichnisses für die Navigation als geordnete Liste.
Das Skript
Stand: 21.10.2022
Ladefehler: $$$ file a $$$
<?php // 2022-04-22 08:27:19 function AreaMenu($Pfad) { $items = glob($_SERVER["DOCUMENT_ROOT"] . $Pfad . '*{php,html}', GLOB_BRACE); unset($Datei); if (count($items)){ $i = 0; foreach ($items as $item){ if ($item == "index.php" or $item == "." or is_dir($item)){ } else { $Datei[$i]['pfad'] = $Pfad . pathinfo($item, PATHINFO_FILENAME); $tags = get_meta_tags($item); $Datei[$i]['titel'] = (isset ($tags['menu']) ? $tags['menu'] : $tags['title']); $Datei[$i]['rang'] = (isset ($tags['rang']) ? $tags['rang'] : 999); $i++; } } // foreach array_multisort(array_column($Datei, 'rang'),SORT_NATURAL,array_column($Datei, 'titel'),SORT_NATURAL | SORT_FLAG_CASE ,$Datei); $i=0; $wo = str_replace('?m','',pathinfo($_SERVER['REQUEST_URI'], PATHINFO_FILENAME)); $Ergebnis = '<ul>'. PHP_EOL; foreach ($Datei As $Inhalt){ if ($Datei[$i]['rang']>=0){ (pathinfo($Datei[$i]['pfad'], PATHINFO_FILENAME) == $wo) ? $active = ' class="active"' : $active = ''; $Ergebnis .= '<li><a'.$active.' href="'. $Datei[$i]['pfad'] . '">' . $Datei[$i]['titel']. '</a></li>'.PHP_EOL;; } $i++; } $Ergebnis .= '</ul>'. PHP_EOL; } // count items else { $Ergebnis = ''; } return $Ergebnis; } ?>