CodeIgniter-PHP - Aufrufen einer Ansicht vom view
Grundsätzlich für meine webapp, die ich versuche zu organisieren, dass es ein bisschen besser. Als es im moment, jedes mal, wenn ich will, um eine Seite zu laden, ich habe es von meinem controller und zwar so:
$this->load->view('subviews/template/headerview');
$this->load->view('subviews/template/menuview');
$this->load->view('The-View-I-Want-To-Load');
$this->load->view('subviews/template/sidebar');
$this->load->view('subviews/template/footerview');
Wie Sie sagen können, es ist wirklich nicht sehr effizient.
So, ich dachte, ich würde erstellen eines 'master' - Er nennt sich template.php. Dies ist der Inhalt der Vorlage anzeigen:
<?php
$view = $data['view'];
$this->load->view('subviews/template/headerview');
$this->load->view('subviews/template/menuview');
$this->load->view($view);
$this->load->view('subviews/template/sidebar');
$this->load->view('subviews/template/footerview');
?>
Und dann dachte ich, ich wäre in der Lage, um es von einem controller wie diesem:
$data['view'] = 'homecontent';
$this->load->view('template',$data);
Leider kann ich einfach nicht diese Arbeit machen. Hat jemand irgendwelche Möglichkeiten, um dieses oder fixes kann ich setzen? Ich habe versucht, indem "Sie"s und "s etwa $view in template.php aber das macht keinen Unterschied. Die üblichen Fehler "Undefined variable: data" oder "kann Nicht geladen anzeigen: $view.php" etc.
Vielen Dank Leute!
Jack
InformationsquelleAutor Jack | 2010-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glaube ich, wo Sie haben:
Müssen Sie einfach loszuwerden, die Zeile:
Dies ist, weil, wenn das array übergeben wird, von der Steuerung, die variable auf die Ansicht zugegriffen werden kann einfach durch $view statt $data['view'].
Vielen Dank, das funktioniert perfekt! 🙂
Froh, es zu hören
InformationsquelleAutor dd0x
Schon ein paar Vorschläge hier http://codeigniter.com/forums/viewthread/88335/
Wählte ich diese Methode:
Controller-Klasse:
Anzeigen:
Laden zu müssen die Ansicht in der Ansicht und Durchlauf durch alle Variablen, die verwendet werden könnten, indem Sie Ihrem Kind die Sicht ist weit vom ideal entfernt. Etwas nutzen zu können, wie Action-Filter in Laravel wäre wahrscheinlich besser.
InformationsquelleAutor Stan Bondi