Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 13h22   #1
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
Par défaut 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 :
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
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 13h53   #2
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
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 : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Salut,
Il faut que tu assign le nom de ta page depuis ton PHP :

Code :
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 :
1
2
 
{include file="$page" title=Menu}
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 13h59   #3
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
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
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h09.


 
 
 
 
Partenaires

Hébergement Web