Der Standard-Ansichtsladevorgang von CodeIgniter erfordert die sich wiederholende Aufgabe, Kopf- und Fußzeilenansichten in jeden Controller einzubinden. Dies kann mühsam und zeitaufwändig werden, wenn Sie mit mehreren Controllern und Ansichten arbeiten.
Um dieses Problem zu beheben, kann eine benutzerdefinierte Loader-Klasse erstellt werden, um den Prozess der Einbeziehung von Kopf- und Fußzeilenansichten zu automatisieren. Dadurch können Entwickler Ansichten laden, ohne die Methode „load->view()“ für jede Komponente explizit aufzurufen.
Erstellen Sie eine neue Datei mit dem Namen MY_Loader.php in der Anwendung/im Kern Verzeichnis. Diese Datei erweitert die CI_Loader-Klasse des CodeIgniters und fügt eine neue template()-Methode hinzu.
<code class="php">// application/core/MY_Loader.php class MY_Loader extends CI_Loader { public function template($template_name, $vars = array(), $return = FALSE) { $content = $this->view('templates/header', $vars, $return); $content .= $this->view($template_name, $vars, $return); $content .= $this->view('templates/footer', $vars, $return); if ($return) { return $content; } } }</code>
In der template()-Methode:
Nachdem Sie die benutzerdefinierte Loader-Klasse erstellt haben, aktualisieren Sie den Konstruktor in Ihren Controllern, um den erweiterten Loader zu laden:
<code class="php">class My_Controller extends CI_Controller { public function __construct() { parent::__construct(); $this->load = new MY_Loader(); } }</code>
Jetzt können Sie Ihre Ansichten mit der template()-Methode laden:
<code class="php">$this->load->template('body');</code>
Dadurch werden die Kopf-, Text- und Fußzeilenansichten automatisch geladen. Sie können bei Bedarf auch Variablen an die Ansichten übergeben.
Das obige ist der detaillierte Inhalt vonWie kann ich die Einbeziehung von Kopf- und Fußzeilen in CodeIgniter-Ansichten automatisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!