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 :

[Smarty] Smarty : insertion de contenu dynamique


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut [Smarty] Smarty : insertion de contenu dynamique
    Bonjour,

    Je me met à smarty et j'ai des problèmes existentiels

    J'ai pour habitude d'avoir comme structure une page index.php qui contient le cadre de mon site et d'y appeler des pages de contenu.

    Donc index.php avec un display index.tpl ... ca c ok mais comment faire des inludes dans mon index.tpl qui change en fonction de la page appelé en url ?

    Je sais pas si je suis clair alors je m'étale un peu :

    mon tpl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {include file="header.tpl" title=foo}
    {include file="menu.tpl" title=Menu}
    {include file="page.tpl" title=Menu}
    {include file="footer.tpl"}
    et l'idée c'est d'insérer à la place de page.tpl accueil.tpl ou contact.tpl en fonction de mon parametre "page" de mon rul. ( index.php?page=accueil ).

    Merci pour votre aide.
    Take it HiSy

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,
    Il faut que tu assign le nom de ta page depuis ton PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $smarty->assign('page', $_GET['page']);
    Par contre attention a la faille include, n'oublie pas de faire une liste blanche des pages autorisées et de vérifier que la page demandée en fait parti

    Ensuite dans ton template :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {include file="$page" title=Menu}


    Les boutons et existent, servez-vous en

  3. #3
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Ben mince c'était si facile ...

    Merci pour ta réponse rapide et claire.

    Entre temps j'avais trouvé une solution avec l'héritage de template.

    Je crée un page layout.tpl et des pages accueil.tpl contact.tpl ... qui étendent mon layout.tpl.

    Je sais pas ce qui est le mieux.

    encore merci.
    Take it HiSy

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

Discussions similaires

  1. [Smarty] Faire un menu dynamique
    Par Droup dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/03/2008, 19h01
  2. [Smarty] Insertion de paramètre lors d'un include
    Par debie1108 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/05/2007, 05h20
  3. Effet visuel de Contenu dynamique
    Par kolib dans le forum ASP
    Réponses: 7
    Dernier message: 12/09/2005, 08h37
  4. Réponses: 2
    Dernier message: 09/09/2005, 10h06
  5. Réponses: 4
    Dernier message: 30/01/2005, 14h23

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