Heim > Backend-Entwicklung > PHP-Tutorial > Wie automatisiere ich die Einbindung von Kopf- und Fußzeilen in CodeIgniter?

Wie automatisiere ich die Einbindung von Kopf- und Fußzeilen in CodeIgniter?

Patricia Arquette
Freigeben: 2024-11-03 05:30:30
Original
870 Leute haben es durchsucht

How to Automate Header and Footer Inclusion in CodeIgniter?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage