Nahtlose Integration von Kopf- und Fußzeilen in CodeIgniter
Das wiederholte Laden von Kopf- und Fußzeilenansichten in jedem Controller kann mühsam sein. Um dieses Problem anzugehen, untersuchen wir eine Lösung, die diesen Prozess automatisiert und Flexibilität beim Anpassen dieser gemeinsamen Elemente bietet.
In CodeIgniter kann eine benutzerdefinierte Loader-Klasse erstellt werden, um dies zu erreichen. Durch Überschreiben der template()-Methode in MY_Loader.php können wir eine Funktion definieren, die die Kopf-, Text- und Fußzeilenansichten kombiniert.
<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>
Für CodeIgniter 3.x würde dies die geänderte template()-Methode tun Fügen Sie eine zusätzliche elseif-Anweisung hinzu:
<code class="php">// application/core/MY_Loader.php class MY_Loader extends CI_Loader { public function template($template_name, $vars = array(), $return = FALSE) { if($return): $content = $this->view('templates/header', $vars, $return); $content .= $this->view($template_name, $vars, $return); $content .= $this->view('templates/footer', $vars, $return); return $content; elseif: $this->view('templates/header', $vars); $this->view($template_name, $vars); $this->view('templates/footer', $vars); endif; } }</code>
Mit diesem benutzerdefinierten Loader können Controller einfach den gewünschten Textinhalt laden, ohne sich um Kopf- und Fußzeilen kümmern zu müssen Ansichten:
<code class="php">// controller $this->load->template('body');</code>
Dieser Ansatz bietet Flexibilität und ermöglicht eine einfache Anpassung von Kopf- und Fußzeileninhalten, ohne die Controller zu überladen.
Das obige ist der detaillierte Inhalt vonWie automatisiere ich die Einbindung von Kopf- und Fußzeilen in CodeIgniter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!