IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Erreur notice, pour : Gestion d'un système de template en PHP


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Par défaut [Système] Erreur notice, pour : Gestion d'un système de template en PHP
    Bonjours,

    j'ai suivi le tuto proposé sur developpez.com (merci Adrien Pellegrini) suivant :
    http://a-pellegrini.developpez.com/t...php/templates/

    Qui est bien fait dans l'emsemble (pour ma part y un détail que j'ai pas compris j'y reveindrais aprés l'explication de mon probléme).
    j'obtient l'erreur:
    Notice: Undefined index: menu in template.php on line 58.
    Mais je ne comprend pas pourquoi cette erreur.
    ci-join les fichier en cause, le fichier index.htm est nommée index.tpl sur mon serveur (developpez.com n'accepte pas les fichier tpl).

    Si quelqu'un pourrait m'expliquer pour corriger, d'où ça vient j'en lui serai reconnaissant.

    Sinon là où je suis pas sur d'avoir bien suivi c'est au chapitre 4 : Méthode(s) supplémentaire(s).
    Pour moi il faut remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ligne 76:
    foreach ($info[$i] as $constant => $data) {
        // Remplace {CONSTANTE} par les donneés correspondantes
       // et mets  jour le code HTML du fichier test.tpl
       // stock dans $this->page
       $data = (file_exists($data)) ? $this->includeFile($data) : $data;
       $this->page = preg_replace('`{'.$constant.'}`', $data, $this->page);
    }
    ...
    ligne 134 :
    foreach($info[$i] as $constant => $data) {
       $data = (file_exists($data)) ? $this->includeFile($data) : $data;;
       $blockTag = preg_replace('`{'.$type.'.'.$constant.'}`', $data, $blockTag);
    }
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ligne 76
    foreach ($info[$i] as $constant => $data) {
        // Remplace {CONSTANTE} par les donneés correspondantes
       // et mets  jour le code HTML du fichier test.tpl
       // stock dans $this->page
       $data = (file_exists($data)) ? $this->includeFile($data) : $data;
       $this->page = preg_replace('`{'.$constant.'}`', $data, $this->page);
     
       // Si $data est un fichier
       $data = (file_exists($data)) ? $this->includeFile($data) : $data;
      $this->page = preg_replace('`{'.$constant.'}`', $data, $this->page);
    }
    ...
    ligne 137 (anciennement 134) :
    foreach($info[$i] as $constant => $data) {
       $data = (file_exists($data)) ? $this->includeFile($data) : $data;;
       $blockTag = preg_replace('`{'.$type.'.'.$constant.'}`', $data, $blockTag);
    }
    et rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    function includeFile ($file) {
    	// Enclenche la temporisation de sortie
    	ob_start();
     
    	include $file;
     
    	// Enregistre le contenu du tampon de sortie
    	$buffer = ob_get_contents();
     
    	// Efface le contenu du tampon de sortie
    	ob_clean();
     
    	// Retourne les données enregistrées
    	return $buffer;
    }
    avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        function constantReplace() {
    ...
    Ai-je bon ?


    Et une question me tarlupinne, avec ce script comment je peut faire pour avoir des affichages conditionnels de block genre formulaire de connexion ou un lien vers son profil suivant si on est connecter ou pas?

    Merci a vous d'avoir consacré un peu de temps a lire ce pavé, et j'éspere avoir été assez claire dans mes explications vaseuses.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/07/2014, 17h03
  2. Erreur pour le moins étrange(système)
    Par asphalte dans le forum C++
    Réponses: 6
    Dernier message: 24/06/2008, 10h56
  3. Lien pour afficher fenêtre Propriétés système.
    Par keny dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/07/2005, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo