Hallo Leute,
ich habe mich jetzt mehrfach durch ein V2B (Video2Brain.PHP.5.4.MySQL.5.5-VtuB) gekämpft und probiere mich nun am Quellcode.
Folgendes möchte ich verbessern .
Aus einer vorhandenen Verzeichnisstruktur wird dynamisch ein Menü ohne Untermenü erstellt.
Wenn Seiten in Unterordnern liegen, wird das "href Attribut" auch korrekt in den Link eingetragen; ABER; sollte jetzt eine neue Datei in einem weiteren Unterverzeichnis erstellt werden, wird dazu kein Menüpunkt erzeugt.
Das liegt daran, dass dem "href Attribut" manuell der String "../../" hinzugefügt wird, wenn eine Datei in einem Unterverzeichnis liegt.
Genau diesen Punkt würde ich gerne verbessern; scheitere dabei aber kläglich .
Konkret:
- Erkenne welche Datei bist Du
- In welchem Unterverzeichnis liegst Du
- Erstelle einen Link zu den Dateien im „root Verzeichnis“
Verzeichnisstruktur:--> siehe Anhang
Datei welche das Menü erstellt:
Hier die Seite an der ich gerade rumprobiere. Ist ein freies, vorgefertigtes Template.
Ich hoffe es ist einigermaßen verständlich.
Über einen Tipp würde ich mich sehr freuen.
Gruß
tschero
ich habe mich jetzt mehrfach durch ein V2B (Video2Brain.PHP.5.4.MySQL.5.5-VtuB) gekämpft und probiere mich nun am Quellcode.
Folgendes möchte ich verbessern .
Aus einer vorhandenen Verzeichnisstruktur wird dynamisch ein Menü ohne Untermenü erstellt.
Wenn Seiten in Unterordnern liegen, wird das "href Attribut" auch korrekt in den Link eingetragen; ABER; sollte jetzt eine neue Datei in einem weiteren Unterverzeichnis erstellt werden, wird dazu kein Menüpunkt erzeugt.
Das liegt daran, dass dem "href Attribut" manuell der String "../../" hinzugefügt wird, wenn eine Datei in einem Unterverzeichnis liegt.
Genau diesen Punkt würde ich gerne verbessern; scheitere dabei aber kläglich .
Konkret:
- Erkenne welche Datei bist Du
- In welchem Unterverzeichnis liegst Du
- Erstelle einen Link zu den Dateien im „root Verzeichnis“
Verzeichnisstruktur:--> siehe Anhang
Datei welche das Menü erstellt:
PHP-Code:
<?php
//Dateiame der aktuell aufgerufenen Datei speichern
$fileName = basename($_SERVER['SCRIPT_NAME']);
/*
Wenn in einer Datei die Variable $subDirectory gesetzt wurd, wird der Pfad zu den root Dateien ergänzt
Das funktioniert so nur wenn die Verzeichnisstruktur auf 2 Ebenen nach unten begrenzt ist und bleibt
--> sollte dynamischer gestaltet werden
*/
$addSubDirectory = '';
if(isset($subDirectory)){$addSubDirectory = '../../';};
/*--------------------------------------------------------------------------Wichtig, Änderungen am Hauptmenü in diesem Array vornehmen
In diesem Array werden die benötigten Dateinamen für das Hauptmenü gespeichert.
Die Reihen folge der Einträge bestimm auch die Reihenfolge der Einträge auf der Seite.
Ein Hinzufügen weiterer Menüeinträge ist per copy paste möglich.
*/
$verzeichnisBaum = array(
$addSubDirectory . "index.php" => "Startseite",
$addSubDirectory . "about.php" => "Über Mich",
$addSubDirectory . "backrezepte.php" => "Backrezepte",
$addSubDirectory . "kochrezepte.php" => "Kochrezepte",
$addSubDirectory . "contacts.php" => "Kontakt");
?>
<!----------------------------------------------------------- Erzeugen des Hauptmenüs-->
<div class="menu-row">
<div class="menu-border">
<div class="main">
<nav>
<ul class="menu">
<?php foreach ($verzeichnisBaum as $dateiName => $menueName)
{
echo "<li><a href='$dateiName'"; if($dateiName === $fileName) : echo "class='active'"; endif; echo ">$menueName</a></li>";
}
?>
</ul>
</nav>
</div>
</div>
</div>
Ich hoffe es ist einigermaßen verständlich.
Über einen Tipp würde ich mich sehr freuen.
Gruß
tschero
Kommentar