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

Bibliothèques et frameworks PHP Discussion :

[Template] Inclusion d'un template dans un template


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut [Template] Inclusion d'un template dans un template
    Modification du message : voir troisième réponse

    Message Original :
    Bonsoir tout le monde,

    Bon ok mon titre n'est pas très explicite mais j'ai du mal à trouver une phrase synthétisant mon soucis, donc je vais essayer d'être le plus clair possible ICI.

    Je travaille actuellement sur la conception d'un site web dont, pour le moment, je me suis fortement inspiré du sujet suivant :
    Tutoriel de site dynamique


    Seulement il y a quelque chose que j'aimerai faire différemment mais je n'arrive pas a trouver la solution exacte.
    Le principe de developpement abordé dans ce sujet est de passer par des gabarits. Si vous regardez le sujet, il est question d'une variable PAGE_CONTENU.
    Ce que je voudrais c'est que cette variable fasse référence à une page (php) et que celle-ci soit interprétée comme il faut. Je m'explique :
    pour le moment c'est comme ça : on a un fichier index.php et un index.tpl
    Ce dernier est subdivisé avec des DIV. il y a une balise comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div>
    {PAGE_CONTENU}
    </div>
    pour le moment PAGE_CONTENU contient du texte et le résultat final est que ça affiche ce dernier ... Jusque là je ne vous apprends rien.
    Par contre moi ce que je voudrais c'est que ce {PAGE_CONTENU} contienne l'adresse d'une page et que celle ci soit interprété comme il faut.



    Si vous voulez voila comment moi je le vois mais évidemment cela ne fonctionne pas :
    dans index.tpl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div>
    <?php include({PAGE_CONTENU}) ?>
    </div>
    J'espère avoir était le plus clair possible (j'en doute)

    mais surtout n'hésitez pas à me questionner ça sera plus simple certainement du coup.


    Quoiqu'il en soit merci beaucoup pour voter aide et j'attends vos réponses
    "La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne ... et personne ne sait pourquoi !" et malheureusement c'est souvent le cas en Développement...

  2. #2
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    Je viens de tomber là dessus

    je vais voir si je peux pas faire quelque chose avec, je vous tiens au courant




    Merci
    "La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne ... et personne ne sait pourquoi !" et malheureusement c'est souvent le cas en Développement...

  3. #3
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    Ok je viens de trouver une solution, seulement j'ai toujours un problème voici ce que je fais :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    // Mise en place du moteur template
            $template = new Template(TEMPLATE_FOLDER);
            $template->set_filenames(array(
                "index"         => "index.tpl",
                "chemin_fer" => "chemin_fer.tpl",
                "menu"         => "menu.tpl"
                ));
     
    ...
     
    //chargement des parametre et passage en alias
    Load_menu($_ENV['id_page']);
    $template->assign_var_from_handle("MENU" , "menu");
     
    Load_chemin_fer($_ENV['id_page']);
    $template->assign_var_from_handle("CHEMIN_FER", "chemin_fer");
     
    // Envoie des variables 'globales' au template
            $template->assign_vars(array(
                "THEMES_FOLDER"        => THEMES_FOLDER,
                "HEAD_MOTS_CLES"   => $_ENV["mots_cles"],
                "HEAD_DESCRIPTION" => $_ENV["description"],
                "HEAD_TITRE"       => $_ENV["titre"],
                "PAGE_CONTENU"     => $_ENV['contenu']
                ));
     
            // Compilation de la page
            $template->pparse("index");


    le problème est que ensuite les balises </div> ne sont pas interprété comme il faut, voila ce que cela renvoie dans le code source :
    &lt;/div&gt;
    au lieu de </div>


    Auriez-vous une solution à ceci ?


    Merci par avance
    "La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne ... et personne ne sait pourquoi !" et malheureusement c'est souvent le cas en Développement...

  4. #4
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    C'est bon j'ai trouvé la solution à mon problème :
    il s'agissait tout simplement du fichier template.php qui ne devait pas être bon,
    j'en ai téléchargé un autre et là tout fonctionne à merveille ... à moi maintenant de réussir à faire ce que je veux.



    Ce monologue fut un plaisir, j'espère qu'il pourra tout de même aider certaines personnes
    "La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne ... et personne ne sait pourquoi !" et malheureusement c'est souvent le cas en Développement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2017, 16h57
  2. [Template] comment modifier un control dans une template
    Par TheBlackReverand dans le forum Silverlight
    Réponses: 1
    Dernier message: 05/06/2009, 20h55
  3. [DreamWeaver]Les liens dans ma template .dwt
    Par mamiberkof dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 14/04/2006, 18h12
  4. [XSL] Passage de variable dans un template
    Par Otarie dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/11/2005, 23h50
  5. cast dans un template
    Par olivic dans le forum Langage
    Réponses: 15
    Dernier message: 20/10/2004, 14h10

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