Bonjour,
Voici un post que j'ai créé sur le forum de smarty, mais toujours pas de réponse au bout d'une semaine. Je m'en remet donc à vos lumières :
Je viens de me mettre à smarty très recemment et me voilà déjà confronté à un problème. J'essaye de réaliser un site utilisant des pseudos frames php et je pense que la méthode que j'utilise n'est pas la bonne. Donc voici mon code source :
index.tpl:
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 <body> <div id="entete"> {include file='entete.tpl'} </div> <div id="menu"> {include file='menu.tpl'} </div> <div id="contenu"> {include_php file="$page"} </div> <div id="pied"> {include file='pied.tpl'} </div> </body>
Pour résumer, lorsqu'on arrive sur l'index.php le script définit la page à afficher, l'assigne a une variable smarty, et grace à cette variable index.tpl sait quelle page inclure. Cette méthode à l'air de fonctionner mais dans la documentation smarty on peu lire pour {include.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 /*Récupération de la page demandée */ $cat = isset($_GET['cat']) ? $_GET['cat'] .'/' : 0 ; $page = isset($_GET['page']) ? $_GET['page'] : 0 ; if(!empty($_GET['page']) && is_file($cat. basename($_GET['page'].'.php'))) { $page = $cat. basename($_GET['page'].'.php') ; } else { $page = 'news.php'; } $smarty = new Smarty() ; $smarty->assign("page",$page) ; $smarty->display('index.tpl');
Quote:
include_php} est presque obsolète dans Smarty. Vous pouvez obtenir des résultats équivalents en utilisant les fonctions utilisateur.
Donc je pense qu'il existe une meilleure façon que la mienne pour obtenir le même résultat. Mais je ne vois pas du tout comment faire.
Quelqu'un pourrait-il m'expliquer de façon détaillée la meilleure méthode pour réaliser un site en pseudo frame php ?
Merci beaucoup !
Partager