Menü aus Array generieren

nchristoph

Erfahrenes Mitglied
Hallo zusammen,

ich versuche mehrere Templates aus einem Ordner auszulesen , diese in einem Array zu speichern und den Array auszugeben.

Das einlesen des Ordners in den Array funktioniert wunderbar, bei der Ausgabe habe ich meine Probleme.

Ich habe es schon darauf zurückgeführt, das meine filecontent variable immer wieder überschrieben wird

Meine Lösungsansätze bis jetzt waren:
For Schleife die solange durchgegangen wird, wie Daten im Array vorhanden sind.
Doppelte Foreach Schleife.
$this->menu zu einem Array machen, hat allerdings Probleme bei der Ausgabe erzeugt.

Ich steh irgendwie auf dem Schlauch, ich find einfach die Lösung nicht.

Ich poste mal meinen Code, vielleicht kann mir wer helfen.

PHP:
    public function Load_Files(){
        //$this->Load_Files_Into_Array();
        foreach($this->tpl_files as $TPL_FILES => $tpl_file){
            $this->tpl_path = $this->tpl_folder.$tpl_file;       
        }
        $filecontent = file_get_contents($this->tpl_path);
        $this->menu = $filecontent;
        
    }
mfg
 
Immer diese 5-Zeiler...

Was hat dein Problem mit der Ausgabe zu tun? In deinem Code sehe ich nirgends echo oder Öhnliches, was ein Zeichen für eine Ausgabe wäre? Was steht in $this->tpl_files? Was in den anderen Variablen? Stimmt das alles, ergo exisiteren die Template-Ordner? wie sehen die anderen Methoden aus? Was soll deine Schleife -> Der Wert $this-Ptpl_path wird immer wieder überschrieben. Was soll überhaupt zurückgegeben werden? Ein array? Ist $this->menu die "return" Variable?

Nur mal so um nen kleinen Überblick darüber zu geben, wie hinreichend das problem beschrieben ist :D
 
Also:

Die Ausgabe habe ich in einer eigenen Funktion
PHP:
    public function Display_Menu(){
        $this->Load_Files();  
        return $this->menu;
    }

in $this->tpl_files stehen die Namen der html Dateien.

Der Ordner bzw. die Dateien existieren.

Die Dateien lade ich mit dieser Funktion in einen Array:
PHP:
    public function Load_Files_Into_Array(){
        $file_array = Array();

        if(is_dir($this->tpl_folder))    {
            $handle = opendir($this->tpl_folder);
            if(is_resource($handle))    {
                while($file = readdir($handle))    {
                    if($file != "." && $file != "..")
                        array_push($file_array, $file);
                }
            }else{
                echo "Das Öffnen des Verzeichnisses ist fehlgeschlagen";
            }
        }else{
            echo "Das Verzeichnis existiert nicht";
        }
        $this->tpl_files = $file_array;
    }

Der Rückgabewert ist ein Array.

//EDIT
Ich habs hingekriegt. Ich hab einfach array_map benutzt. Jetzt muss ich nur noch den Array sortieren bevor ich ihn an die array_map übergebe.
 
Zuletzt bearbeitet:
Zurück