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] template + include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut [Système] template + include
    Bonjour a tous

    Voila j'utilise le système de template phpBB et le problème suivant ce pose :
    j'aimerais faire une page index.php qui comporte l'header + menu left/right + footer et la page du lieu qui change en fonction du lieu sur lekel on aurait cliqué.

    Mon probleme est que je sais pas comment inclure un fichier a un endroit spécifique du fichier template (dans mon cas bloc central). Si on fait include 'fichier.php', ca se met n'importe ou et jamais ou il faut. Quelqu'un saurait comment y remedier ?!

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    personne n'a une idée ?

  3. #3
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    salut,
    je connais pas le systeme de template de phpbb (je crois que c est phplib) mais deja si tu met le header le footer et encore un autre truc dans ton index .... ben c est que t as pas comris ce qu'est un template.


    Un template est un "modele" de page.
    C est dans ton template que tu vas mettre inclure ton header (qui est lui meme un template) ....

    Ensuite tu met aussi des variables de template dedans et depuis ton index, tu affecte ces variables.

  4. #4
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    et a ton avis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include 'accueil.php';
    tu le met ou ?

    ca ca marche pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $template->assign_vars(array(
    'CONTENT' => include 'accueil.php'
    ));
    En d'autre terme j'ai une page index qui contient header + footer + bloc/gauche / droite et un bloc central qui change selon le lien sur lekel on a cliquer. Quand on clique sur le lien, un 'include accueil.php' est nécessaire pour faire apparaitre le bon bloc au milieu. Le probleme est que de 1 j'ai une erreur de loadfile et de 2 le template du index.php ne s'affiche plus.

    Et c'est gentil de me redire la définition d'un templates mais c'est pas l'objet de ma question et je sais tres bien ce que c'est un template. Apparament c'est pas moi qui n'ai rien compris mais plutot toi qui m'a repondu n'importe koi.

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    bon alors au risque de te dire encore quelque chose qui va pas, je vais t'expliquer ce que fais un include.

    Un include, c est comme si tu ecrivais le contenu de ton fichier à l'endroit ou tu fais l'inclusion.

    Donc ton :
    <?php
    $template
    ->assign_vars(array(
    'CONTENT'&#160;=>&#160;include&#160;'accueil.php'
    ));&#160;
    ?>
    Si on prend par exemple comme contenu de acueil.php
    <?php
    echo&#160;"toto";
    $i&#160;=&#160;2+3;
    ?>
    ca revient a faire :
    <?php
    $template
    ->assign_vars(array(
    'CONTENT'&#160;=>&#160;echo&#160;"toto";
    $i&#160;=&#160;2+3;
    ));
    ?>
    ce qui ne va pas plaire a l'interpreteur php.

    J'ai l impression que tu utilise un template unique dans lequel tu change le contenu.

    C'est bien mais je voit franchement pas l'utilité d'un template pour faire ça.

    Tout centraliser dans une page n'est pas une mauvaise idée, loin de là mais faut savoir ce qu'on veut.

    Fait plutot un truc comme ça :
    <?php
    include&#160;"header.php";
    include&#160;
    "menu.php";

    $todo&#160;=&#160;isset($_GET["todo"])&#160;?&#160;$_GET["todo"]&#160;:&#160;"accueil";

    switch(
    $todo){
    &#160;&#160;&#160;&#160;&#160;case&#160;
    "accueil"&#160;:
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;include&#160;
    "accueil.php";
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;
    &#160;&#160;&#160;&#160;&#160;case&#160;
    "truc"&#160;:
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;include&#160;
    "uneautrepage.php";
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;
    &#160;&#160;&#160;&#160;&#160;default:
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;include&#160;
    "error.php";
    }
    include(
    "footer.php");
    ?>


    Syntax color PHP by decabodi.com
    Et tes liens tu les feras de cette forme :
    <a&#160;href="index.php?todo=uneaction">unlien</a>

  6. #6
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Bah oui c'est exactement ce que j'ai fait !! Mais tu voit ma page accueil.php par exemple est un bloc central qui doit se placer dans ma page index.php.
    Et cette page accueil a son template a elle.

    J'ai :
    index.php avec index.tpl
    acceuil.php avec accueil.tpl

    et j'aimerais include acceuil.php dans index.php.

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    et tu peux pas inclure ton template accueil dans celui de index ?

  8. #8
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Directement en mettant

    ca marche pas, ni dans l'index.php ni dans l'index.tpl.

    Et vu que accueil ne sera pas tjrs la page a affiché

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    ecoute je comprend pas trop,
    si tu as des templates a ce moment la, ton header et ton footer devraient etre non pas des pages php mais des templates qui seraient inclus dans tous les autres.

    Moi j'utilise smarty et avec lui on peut inclure un template dans un autre

  10. #10
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    tu fais comment ? peux etre que je connaitrais une commande similaire avec phpbb (phplib)

  11. #11
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {include file="header.tpl"}

  12. #12
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    as tu un fichier header.php qui va avec ?!

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    non, si j'ai des assign a faire, je les fait depuis le fichier php qui appel le tempkate dans lequel il est inclus

  14. #14
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    oula j'espérait ne pas en arriver la je sens que ca va devenir un vrai bordel sinon.

    Enfin merci bien de toutes tes reponses !!

  15. #15
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    bon bah j'ai réglé mon problème et voila comment j'ai fait :

    index.php

    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
     
    <?php include 'common.php'; ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet"  type="text/css" href="./templates/truc/style.css" media="screen">
    <title>titre</title>
    </head>
     
    <body>
    <div id="page">
    	<?php 
    		include 'header.php';
    		include 'right.php';
    		include 'left.php';
    		include './modules/nenkan.php';
    		include 'footer.php'; 
    	?>
    </div>
    </body>
    </html>
    PS : j'ai vahcement réduit le code pour faire plus court ...

    avec header.php couplé a header.tpl ect

    Ca donne l'effet que je souhaite et ca a l'air de plutot bien marcher.

  16. #16
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Par défaut
    le message date un peu ... mais correspond à ce que je souhaite faire ... sauf que je n'ai pas compris la réponse ...

    Moi, je m'orientais plutôt sur la fonction get() qui permet de mettre dans une variable le résultat de parse plutôt que de l'afficher.

    Ensuite je peux afficher cette variable où je veux dans mon template de la page d'index.

    Le problème est que "get" fonctionne uniquement avec les block ... et ca risque de vite devenir la galère. il n'y a pas un moyen de mettre dans une variable ce qu'aurait afficher un pparse ?? plutot que de le faire block pas block ?

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 28/06/2007, 20h55
  2. Réponses: 4
    Dernier message: 21/06/2007, 14h12
  3. [Système] Fonction Include avec repertoire
    Par traderpierre dans le forum Langage
    Réponses: 10
    Dernier message: 17/06/2007, 15h44
  4. Passer de Templates à Include ?
    Par Strix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/05/2007, 09h02
  5. [Système] Fonction Include et balises HTML
    Par jakkihm dans le forum Langage
    Réponses: 4
    Dernier message: 10/12/2006, 21h42

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