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;
}
?>