Wie kann ich die Einbeziehung von Kopf- und Fußzeilen in CodeIgniter-Ansichten automatisieren?

Mary-Kate Olsen
Freigeben: 2024-11-03 00:08:30
Original
457 Leute haben es durchsucht

How Can I Automate Header and Footer Inclusion in CodeIgniter Views?

Kopf- und Fußzeile in CodeIgniter automatisieren

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.

Benutzerdefinierte Loader-Klasse

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

In der template()-Methode:

  • Sie lädt die Header-Ansicht in das $ Inhaltsvariable.
  • Dann wird die angegebene Ansicht (z. B. Text) in $content geladen.
  • Schließlich wird die Fußzeilenansicht geladen und an $content angehängt.
  • Wenn $return auf TRUE gesetzt ist, wird der kombinierte Inhalt zurückgegeben. andernfalls wird die kombinierte Ansicht angezeigt.

Verwendung in Controllern

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

Jetzt können Sie Ihre Ansichten mit der template()-Methode laden:

<code class="php">$this->load->template('body');</code>
Nach dem Login kopieren

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!

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