Zum Inhalt springen

Menüstruktur auslesen

Erstellt am 24. Januar 2005 · 1 Antwort · letzte Antwort am 25. Januar 2005

Tags: PHP, Frage

Bishop ·

Hallo zusammen,

ich habe folgendes Problem.
Ich habe ein fertiges Web-Projekt das jetzt auf Typo3 umgestellt werden soll.
Da eine komplette Umstellung nicht in dem gegebenen Zeitrahmen zu schaffen ist, habe ich folgendes gemacht.
Die Menüs, Suche, Login, News, Kontakt usw. wurden alle mit Typo3 erstellt. Läuft auch super soweit.

So jetzt gehts daran die Inhalte zu übernehmen.
Die Menüstruktur der einzelnen Seiten stimmt mit den dem Verzeichnisbaum im fileadmin überein.
D.h.

Menü1
Submenü1
Inhalt1
Inhalt2

Im fileadmin gibt es dazu folgende Ordnerstruktur

Menü1/Submenü1/Inhalt1.html
Menü1/Submenü1/Inhalt2.html

Dieses Schema ist immer so!!!

So meine Idee war jetzt folgende.
Ich hole mir über ein PHP-Script die Menüstruktur der aktuell gewählen Seite (Parent usw.)
Baue mir daraus einen Pfad und lade die Datei per include in den Content.
Das ganze habe ich mal getestet mit festen werden, das geht wunderbar.
Meine frage ist jetzt.
Wie komme ich jetzt an den Parent?

Danke im voraus.

Gruß
Bishop

Bishop ·

Hallo zusammen,

nach einigen Stunden suchen in der TSRef hab ich das Problem gelöst.
Für alle die es interessiert ist hier das PHP-Script.

<!-- Diese Funktion nimmt aus den Typo3 Variablen die sog. Rootline.
     Diese gibt den Pfad der aktuellen Seite an. Beispiel: GFB Villingen-Schwenningen / OV Villingen / Fahrzeuge
	 Anhand dieser Rootline wird der Pfad für die HTML-Datei erstellt und in die aktuelle Seite als
	 Content über include eingefügt.
	 
	 Version	Datum		Autor			Bemerkung
	 ========	========	============	==================================================
	 1.00.000	24.01.05	Michael Roth	Erstellung der Datei
!-->
<?php

    // Rootline auslesen
    $rootLine = $GLOBALS["TSFE"]->config["rootLine"];
   
    // Durch alle Einträge im Array laufen und String
	// zusammenbauen
    $count = count($rootLine);
   
    //echo $count . " Einträge im Array";
    //echo "<br>";
    
    $pfad = "fileadmin/data";
    for ($i = 1; $i <= $count; $i++)
    {
        if ( $i < $count)
            $pfad = $pfad . "/" . $rootLine[$i]["title"];
         else
            $pfad = $pfad . $rootLine[$i]["title"] . ".html";

    }
    include strtolower($pfad);
?>

Gruß
Bishop