Navigation Bereich

Erstellt: 08.03.2022 Lesedauer ≤ 1 Min.

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($itemPATHINFO_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;  
}
?>