Structure commune a chaque page

Résolu/Fermé
jordxnnn - 21 mai 2013 à 20:15
Ysabe_l Messages postés 12574 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 3 novembre 2024 - 21 mai 2013 à 21:13
Bonjour,


J'aimerais faire une structure de page (structure.php) qui contiennent tout les élements en communs de chaque page de mon site comme par exemple , la colonne droite, la colonne gauche et juste changer le centre de la page en fonction des liens cliqué par l'utilisateur.

Donc j'aimerais savoir si on peut inclure le fichier structure.php qui contient :

balise html
titre de la page
etc

<div id="colonne gauche">
....
</div>
<div id="colonne droite">
....
</div>
<div id="pied de page">
....
</div>

et donc inclure ce fichier dans chaque page et juste modifier la balise :
<div id="centre">
....
</div>

Est ce possible ?
Merci
A voir également:

1 réponse

Ysabe_l Messages postés 12574 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 3 novembre 2024 276
21 mai 2013 à 20:23
Oui c'est possible.

Par contre je ferais l'inverse personnellement. C'est à dire une page index comme tu la décris. Dans le menu au clic j'enverrai sur un lien du type index.php?page=page1 et dans la div "centre" je ferai un if du genre : if(isset($_GET'[page']) && $_GET['page'] == page1) { include ('page1.php'); } et ça pour chaque page. Comme ça si tu changes quelque chose c'est encore plus rapide il n'y a qu'un endroit où le modifier.
0
Bonjour,
Merci de votre réponse,
Je pense a cela car le mvc me parait beaucoup trop complexe...

Mais comment faire alors ?
J'aimerais avoir qu'une fois les balises html, tite... pour tout mon site
0
Ysabe_l Messages postés 12574 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 3 novembre 2024 276
21 mai 2013 à 20:48
Et bien si tu fais ce que j'ai dit ça va donner quelque chose de ce type (là je te donne la structure du site que je suis en train de faire, après à toi d'adapter une fois que t'as compris) :

- une page header.php qui va contenir le header (bannière, logo, slogan ...)
- une page menu.php qui va contenir ... le menu ^^
- une page footer.php qui va contenir le footer
- une page accueil.php qui va contenir le contenu de la page d'accueil (juste le contenu, pas ce qui est commun à toutes les pages)
- une page page1.php qui va contenir le contenu de la page1
- une page page2.php qui va contenir le contenu de la page2
etc...

- une page index.php qui va contenir le head du site et l'ouverture du body puis tout un tas d'include et à la fin la fermeture du body, et tes includes ça va donner un truc du genre :

include('header.php');
include('menu.php');

if(isset($_GET['page'])) // si on a cliqué sur un lien du menu
{
	if($_GET['page']) == 'accueil') // si on a cliqué sur l'accueil
	{
		include('accueil.php');
	}
	elseif($_GET['page']) == 'page1') // si on a cliqué sur la page 1
	{
		include('page1.php'):
	}
	elseif(($_GET['page']) == 'page2') // si on a cliqué sur la page 2
	{
		include('page2.php'):
	}
	else // si on a tenté d'écrire une URL à la main et qu'elle ne correspond à rien de prévu
	{
		include('404.php');
	}
}
else // si on arrive direct sur le site sans avoir encore rien cliqué
{
	include('accueil.php');
}

include('footer.php')


et donc en naviguant sur le site on aura dans l'URL des adresses du genre index.php?page=accueil ou index.php?page=page1

(bien sur en évitant les page1 et page2 mais en mettant des noms plus parlant ^^)

Après je ne sais pas si c'est la meilleure façon de faire mais pour le moment c'est la meilleure que je connais (mais je n'ai pas encore étudié le php, juste vu en stage).
0
Merci mais donc en html, les liens sont dans un form avec la méthode GET ?
Et dans le header, je peux mettre les balise html ? les scripts etc ?
0
Ysabe_l Messages postés 12574 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 3 novembre 2024 276
Modifié par Ysabe_l le 21/05/2013 à 20:58
Tu veux dire sur les liens du menu ?
Pour les liens du menu je fais ça

<a href="index.php?page=page1">Page 1</a>
<a href="index.php?page=page2">Page 2</a>


Sinon oui tu peux faire avec un formulaire mais c'est se compliquer la vie à mon avis.

Et dans le header tu peux mettre tes balises html, tes scripts et tout ce que tu veux.
0
J'ai tout compris sauf un point :

pour tester que l'utilisateur a cliquer sur un lien , vous avez fait comme cela :
if($_GET['page']) == 'accueil') // si on a cliqué sur l'accueil
{
include('accueil.php');
}
Cela j'ai parfaitement compris mais pour avoir la valeur $_GET['page'] on l'obtient comment a partir d'un <a href="index.php?page=page1">Page 1</a> ???
0