Imbrication de template avec PHPLib... je ne comprends pas !
Imbrication de template avec PHPLib... je ne comprends pas ! - PHP - Programmation
MarshPosté le 03-09-2006 à 14:51:01
Bonjour à tous,
J'ai décidé de faire un site perso via les templates et notement la librairie phpLib. Un problème de conception pour réaliser ce site (je vais éssayer d'être clair) m'a vite stoppé :
Premierement je me suis basé sur le tutorial de Guillaume Rossolini : "Tutoriel de site dynamique - Classes d'abstraction" ici -> http://g-rossolini.developpez.com/ J'arrive a faire des truc.php et truc.tpl et renseigner tous les champs {truucbidule} que ce soit par des appels à BDD ou traitements divers.
Mon site est composé d'un header.php/header.tpl footer.php/footer.tpl menu.php/menu.php et centre.php/$nomTpl
Ce que je ne comprends pas c'est comment inclure les pages de contenu appelées lorsque l'on clique sur le menu du site. J'ai commencé à concevoir cette partie de la manière suivante :
// le index.php va récupérer l'id de la page appelée et récupérer son nom dans la base de donnée $nom = id2nom($_GET['id_page']);
// je rajoute l'extension .tpl qui contient la page appelée $nomTpl = $nom.'.tpl'; // et je fais un set_filenames avec la variable $nomTpl $template->set_filenames(array( 'index' => 'index.tpl', 'menu' => 'menu.tpl', 'head' => 'head.tpl', 'footer' => 'footer.tpl', 'centre' => $nomTpl ) );
// PREMIER PROBLEME : je suis obligé d'appeler une fonction pour chacun des .php que je vais afficher dans mon index.php // Chacune de ces fonctions va renseigner les champs nécéssaires pour chacun des .php ca marche mais niveau conception je ne sais pas si c'est tres bien // LA SOLUTION serait de faire ces traitements dans les .php mais ca ne marche pas head(); menu(); footer(); $nom();
// DEUXIEMENT PROBLEME : lorsque je fais un simple parse de mes .tpl, le index.tpl va m'afficher menu head footer centre index à la suite // et impossible de récupérer ces pages dans des variables {variable}, ainsi il m'est impossible de mettre ces variables dans des divs afin de // leur appliquer un CSS et donc de mettre en forme le site.
Voila je sens qu'il y a quelque chose que je n'ai pas bien saisi dans le role et l'utilisation des templates. Merci de m'aider. Le problème 1 est un problème de conception et le problème 2 me bloque dans le développement du site. Merci de prendre un peu de votre temps pour comprendre mon charabia.
Marsh Posté le 03-09-2006 à 14:51:01
Bonjour à tous,
J'ai décidé de faire un site perso via les templates et notement la librairie phpLib.
Un problème de conception pour réaliser ce site (je vais éssayer d'être clair) m'a vite stoppé :
Premierement je me suis basé sur le tutorial de Guillaume Rossolini : "Tutoriel de site dynamique - Classes d'abstraction" ici -> http://g-rossolini.developpez.com/
J'arrive a faire des truc.php et truc.tpl et renseigner tous les champs {truucbidule} que ce soit par des appels à BDD ou traitements divers.
Mon site est composé d'un header.php/header.tpl footer.php/footer.tpl menu.php/menu.php et centre.php/$nomTpl
Ce que je ne comprends pas c'est comment inclure les pages de contenu appelées lorsque l'on clique sur le menu du site.
J'ai commencé à concevoir cette partie de la manière suivante :
// le index.php va récupérer l'id de la page appelée et récupérer son nom dans la base de donnée
$nom = id2nom($_GET['id_page']);
// je rajoute l'extension .tpl qui contient la page appelée
$nomTpl = $nom.'.tpl';
// et je fais un set_filenames avec la variable $nomTpl
$template->set_filenames(array(
'index' => 'index.tpl',
'menu' => 'menu.tpl',
'head' => 'head.tpl',
'footer' => 'footer.tpl',
'centre' => $nomTpl
)
);
// PREMIER PROBLEME : je suis obligé d'appeler une fonction pour chacun des .php que je vais afficher dans mon index.php
// Chacune de ces fonctions va renseigner les champs nécéssaires pour chacun des .php ca marche mais niveau conception je ne sais pas si c'est tres bien
// LA SOLUTION serait de faire ces traitements dans les .php mais ca ne marche pas
head();
menu();
footer();
$nom();
// DEUXIEMENT PROBLEME : lorsque je fais un simple parse de mes .tpl, le index.tpl va m'afficher menu head footer centre index à la suite
// et impossible de récupérer ces pages dans des variables {variable}, ainsi il m'est impossible de mettre ces variables dans des divs afin de
// leur appliquer un CSS et donc de mettre en forme le site.
$template->pparse('menu');
$template->pparse('head');
$template->pparse('footer');
$template->pparse('centre');
$template->pparse('index');
}
Voila je sens qu'il y a quelque chose que je n'ai pas bien saisi dans le role et l'utilisation des templates. Merci de m'aider. Le problème 1 est
un problème de conception et le problème 2 me bloque dans le développement du site. Merci de prendre un peu de votre temps pour comprendre mon charabia.
Message édité par jijiz le 03-09-2006 à 17:04:42