Maison > développement back-end > tutoriel php > Comment automatiser l'inclusion d'en-tête et de pied de page dans CodeIgniter ?

Comment automatiser l'inclusion d'en-tête et de pied de page dans CodeIgniter ?

Patricia Arquette
Libérer: 2024-11-03 05:30:30
original
870 Les gens l'ont consulté

How to Automate Header and Footer Inclusion in CodeIgniter?

Incorporation transparente des en-têtes et des pieds de page dans CodeIgniter

La nécessité de charger à plusieurs reprises des vues d'en-tête et de pied de page dans chaque contrôleur peut être fastidieuse. Pour résoudre ce problème, explorons une solution qui automatise ce processus et offre une flexibilité dans la personnalisation de ces éléments communs.

Dans CodeIgniter, une classe de chargeur personnalisée peut être créée pour y parvenir. En remplaçant la méthode template() dans MY_Loader.php, nous pouvons définir une fonction qui combine les vues d'en-tête, de corps et de pied de page.

<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>
Copier après la connexion

Pour CodeIgniter 3.x, la méthode template() modifiée serait inclure une instruction elseif supplémentaire :

<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>
Copier après la connexion

Avec ce chargeur personnalisé, les contrôleurs peuvent simplement charger le contenu du corps souhaité sans se soucier des vues d'en-tête et de pied de page :

<code class="php">// controller
$this->load->template('body');</code>
Copier après la connexion

Cette approche offre de la flexibilité, permettant une personnalisation facile du contenu de l'en-tête et du pied de page sans encombrer les contrôleurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal