TuXyl
Nouveau membre
Bonjour a vous !
Je me suis récement lancé dans la programmation php, lassé de la staticité du HTML.
Je refais donc mon site HTML (d'environ 100 pages htm) en un site dynamique. En ce moment, j'utilise un système de template qui me satisfait beaucoup sur de nombreux points (d'autres personnes travaillent sur le design du site et ne connaissent que le HTML).
J'aurais besoin de vos conseils avisés
Doit-on obligatoirement avoir pour chaque fichier tpl son fichier php associé ? Car je suis presque contraint de créer un fichier tpl pour chaque page, l'organisation de chacune d'elle étant à chaque fois différente, et leur contenu étant assez chargés de textes et d'images (à moins qu'il y ait une solution :??: ).
Pour l'instant mon système (médiocre, fonctionne :sweat:, et ne demande qu'à être amélioré) :
Seul index.php utilise le moteur de templates. Navigation : on lui passe un paramètre '?c=n° de page'
[cpp]
<?php
// Gestion des thèmes
if (isset($_POST['them'])) { // si l'utilisateur a soumis le formulaire...
$css = $_POST['them'];
$res = setcookie("style",$css,time()+(365*24*3600));
}
elseif(isset($_COOKIE['style'])) { // si l'utilisateur n'a rien choisi mais qu'il possède un cookie de style...
$css = $_COOKIE['style'];
}
else $css = "defaut"; // si aucun cookie, et formulaire non soumis
define('IN_LMF',true);
include('includes/template.inc'); // phpLib
include('includes/config.inc.php');
include('net.php'); // outils net
include('fonctions.php'); // outils divers (statistiques)
/*///////////////////////////////////////////*/
/*///////////////* Création de l'en-tête */
/*///////////////////////////////////////////*/
include('header.php');
/*///////////////////////////////////////////*/
/*//////////////* Création du menu */
/*///////////////////////////////////////////*/
if(isset($_GET['c'])) // Quelle page va-t-on afficher ?
{
switch($_GET['c']){
case '1': $page = 'Biographie.tpl'; break;
case '2': $page = 'Discographie.tpl'; break;
case '3': $page = 'Chansons.tpl'; break;
case '4': $page = 'Presse.tpl'; break;
case '5': $page = 'Fichiers.tpl'; break;
case '6': $page = 'Liens.tpl'; break;
default: echo "Erreur: La page demandée est inexistante";
}
}
else
{
$page = 'News.tpl';
}
if (isset($_GET['c'])) { $param = "?c=".$_GET['c']; } // rediriger sur la même page la sortie du formulaire de choix de style
else { $param = ""; }
$template = new Template('./pages/'.);
$template->set_file("menu","menu_" . $page);
$template->parse("afficher_menu","menu");
$template->p('afficher_menu');
////
// Fin du menu Identique à toute les pages
////
$template = new Template('./templates/');
$template->set_file("menufin","page_menu.tpl");
$template->set_var(array(
'PAGE' => $param,
'ESPACEIE' => $espaceie,
'NB_ABONNES' => $nombre_abonnes,
'TOTAL_INSCRITS' => $total_users,
'DERNIER_INSCRIT' => $newest_user,
));
$template->parse("afficher_menu","menufin");
$template->p('afficher_menu');
/*///////////////////////////////////////////*/
/*//////////* Création du corps de la page */
/*///////////////////////////////////////////*/
$template2 = new Template('./pages/');
$template2->set_file("body",$page);
$template2->parse("afficher_body", "body");
$template2->p("afficher_body");
/*///////////////////////////////////////////*/
/*//////////////* Création du pied de page */
/*///////////////////////////////////////////*/
include("footer.php");
?>
[/cpp]
Pour l'instant, je n'ai que 6 liens pour 6 pages ! En plus j'aimerais organiser mes pages à afficher dans différents dossiers donc il me faut trouver une astuce pour gérer et sauvegarder les chemins dans mes set_file..... je suis bloqué :
-> faut-il faire un switch de 100 valeurs ? t1cable:
-> créer un tableau multidimensionnel pour organiser mes dossiers / sous-dossiers / ... (tableau énorme :sarcastic
-> utiliser une BD ? (ça ralentirait et compliquerait un peu mon site non?)
-> ...
Merci infiniement !
Je me suis récement lancé dans la programmation php, lassé de la staticité du HTML.
Je refais donc mon site HTML (d'environ 100 pages htm) en un site dynamique. En ce moment, j'utilise un système de template qui me satisfait beaucoup sur de nombreux points (d'autres personnes travaillent sur le design du site et ne connaissent que le HTML).
J'aurais besoin de vos conseils avisés
Doit-on obligatoirement avoir pour chaque fichier tpl son fichier php associé ? Car je suis presque contraint de créer un fichier tpl pour chaque page, l'organisation de chacune d'elle étant à chaque fois différente, et leur contenu étant assez chargés de textes et d'images (à moins qu'il y ait une solution :??: ).
Pour l'instant mon système (médiocre, fonctionne :sweat:, et ne demande qu'à être amélioré) :
Seul index.php utilise le moteur de templates. Navigation : on lui passe un paramètre '?c=n° de page'
[cpp]
<?php
// Gestion des thèmes
if (isset($_POST['them'])) { // si l'utilisateur a soumis le formulaire...
$css = $_POST['them'];
$res = setcookie("style",$css,time()+(365*24*3600));
}
elseif(isset($_COOKIE['style'])) { // si l'utilisateur n'a rien choisi mais qu'il possède un cookie de style...
$css = $_COOKIE['style'];
}
else $css = "defaut"; // si aucun cookie, et formulaire non soumis
define('IN_LMF',true);
include('includes/template.inc'); // phpLib
include('includes/config.inc.php');
include('net.php'); // outils net
include('fonctions.php'); // outils divers (statistiques)
/*///////////////////////////////////////////*/
/*///////////////* Création de l'en-tête */
/*///////////////////////////////////////////*/
include('header.php');
/*///////////////////////////////////////////*/
/*//////////////* Création du menu */
/*///////////////////////////////////////////*/
if(isset($_GET['c'])) // Quelle page va-t-on afficher ?
{
switch($_GET['c']){
case '1': $page = 'Biographie.tpl'; break;
case '2': $page = 'Discographie.tpl'; break;
case '3': $page = 'Chansons.tpl'; break;
case '4': $page = 'Presse.tpl'; break;
case '5': $page = 'Fichiers.tpl'; break;
case '6': $page = 'Liens.tpl'; break;
default: echo "Erreur: La page demandée est inexistante";
}
}
else
{
$page = 'News.tpl';
}
if (isset($_GET['c'])) { $param = "?c=".$_GET['c']; } // rediriger sur la même page la sortie du formulaire de choix de style
else { $param = ""; }
$template = new Template('./pages/'.);
$template->set_file("menu","menu_" . $page);
$template->parse("afficher_menu","menu");
$template->p('afficher_menu');
////
// Fin du menu Identique à toute les pages
////
$template = new Template('./templates/');
$template->set_file("menufin","page_menu.tpl");
$template->set_var(array(
'PAGE' => $param,
'ESPACEIE' => $espaceie,
'NB_ABONNES' => $nombre_abonnes,
'TOTAL_INSCRITS' => $total_users,
'DERNIER_INSCRIT' => $newest_user,
));
$template->parse("afficher_menu","menufin");
$template->p('afficher_menu');
/*///////////////////////////////////////////*/
/*//////////* Création du corps de la page */
/*///////////////////////////////////////////*/
$template2 = new Template('./pages/');
$template2->set_file("body",$page);
$template2->parse("afficher_body", "body");
$template2->p("afficher_body");
/*///////////////////////////////////////////*/
/*//////////////* Création du pied de page */
/*///////////////////////////////////////////*/
include("footer.php");
?>
[/cpp]
Pour l'instant, je n'ai que 6 liens pour 6 pages ! En plus j'aimerais organiser mes pages à afficher dans différents dossiers donc il me faut trouver une astuce pour gérer et sauvegarder les chemins dans mes set_file..... je suis bloqué :
-> faut-il faire un switch de 100 valeurs ? t1cable:
-> créer un tableau multidimensionnel pour organiser mes dossiers / sous-dossiers / ... (tableau énorme :sarcastic
-> utiliser une BD ? (ça ralentirait et compliquerait un peu mon site non?)
-> ...
Merci infiniement !