Module ou include

Eléphant du PHP | 53 Messages

22 sept. 2007, 20:28

Bonsoir à tous,

Actuellement pas mal de site ont un "Template" et toutes les pages du site s'incruste dedans (j'espere etre clair :-) enfin je vais essayer) !
Donc 1 template puis un fichier index.php avec des systeme de module qui se place dedans <module_news> etc... mais je ne comprend pas comment faire lorsque par exemple on a une page avec par exemple :
1 header
1 menu
1 module news
1 un module article recent
1 footer

comment ça se passe pour que lorsque je clique sur une des news du module news quand il s'affiche l'autre page (qui est toujours l'index) il ne reste plus que :

1 header
1 article de news (celui dont je viens de cliquer)
1 footer

Ou et comment est parti le reste, puisque le code des module doit normalement toujours etre sur la page index.php ?????

J'espere avoir été clair, mais je suis sur que vous me comprendrez :-)

Quelqu'un aurait pas un tuto sur ça ?

les modules sont-ils tres differents des fichiers include ?????
www.theitalianblog.com tout pour Nokia Symbian

ViPHP
AB
ViPHP | 5818 Messages

22 sept. 2007, 21:24

Bah... je sais pas ce qu'en pensent les Viphp mais perso je déconseille cette solution pour les débutants.
Autant mettre le header, le footer, et le menu (en fait tous les éléments communs à chaque page) dans des fichiers inclus, et faire plusieurs pages. C'est plus facile lors de la phase développement et test.

Maintenant sur le principe, suffit de mettre une variable à l'appel d'une page.

Pour appeler le code des news à inclure par exemple:

Code : Tout sélectionner

<a href="index.php?page=news">News</a>
Ensuite tu récupère la valeur de la variable $_GET['page'] et tu fais les includes en fonction du résultat.

L'avantage du template c'est qu'il te permet de modifier facilement la présentation, le graphisme de ton site mais c'est plus compliqué à mettre en place.

Eléphant du PHP | 53 Messages

22 sept. 2007, 21:57

oui ok mais t'imagine pour un site de rencontre !!!
car mon projet c'est ça
www.theitalianblog.com tout pour Nokia Symbian

lux
Eléphant du PHP | 372 Messages

23 sept. 2007, 08:03

Moi je fais encore plus simple, je crée un fichier news.php pour la 2e page. Comme ça il n'y pas tout sur le fichier index.php qui sera moins lourd. Header et Footer sont bien sur inclus, comme ça si je change un truc dans le header c'est répercuté sur les 2 pages.

Ensuite il y a des systèmes de templates qui permettent de combiner un peu de code logique dedans, p.ex dans smarty : {if qqch}bla bla bla{/if}, qui n'affichera cette partie que a une certaine condition, p.ex ce qu'on a récupéré dans le GET.

A toi de voir comment tu peux simplifier ou compliquer le truc. Mais franchement moi je n'hésite pas a faire une 2e page et de ne pas TOUT mettre dans index.php 8-)

ViPHP
ViPHP | 5924 Messages

23 sept. 2007, 10:10

Ce que vous proposez est extrèmement laid, infonctionnel, et sale.
Même pour un débutant, il n'est pas interdit de partir sur de bonnes bases. En l'occurennce, tu peux faire ceci :

Un template structure avec le header et le footer, et une partie corps que tu génères à part. Et ensuite soit une page avec menu et sous-corps, le sous-corps étant le template de ta page d'index (tu fais cela récursivement jusqu'à avoir un truc qui te plait, en séparant bien tous les templates que tu vas réutiliser), soit une page avec directement le corps formé d'un module news.

Tu peux faire cela facilement avec smarty par exemple, je pense que tu peux faire en sorte de lui faire utiliser des sous templates pour lesquels tu passes les noms des fichiers à Smarty, ou bien au pire avec un $smarty->fetch() pour générer à part le sous-template et l'inclure dans le template parent.

Tu peux donc avoir des trucs de ce genre (à implémenter selon le moteur de templates) :
-template structure :

Code : Tout sélectionner

<html> <body> [Inclure le template $machin] </body> </html>
-template struct_menu :

Code : Tout sélectionner

<div class="menu"> blablablablabla </div> <div class="body"> [Inclure le template $sub_machin] </div>
-template piece_of_news :

Code : Tout sélectionner

blablablablabla
-template news :

Code : Tout sélectionner

blablablablabla
-template articles :

Code : Tout sélectionner

blablablabla
-template index :

Code : Tout sélectionner

<div class="news"> [Inclure le template news] </div> <div class="articles"> [Inclure le template articles] </div>
Et par exemple, pour faire la première structure, tu inclues structure avec $machin=struct-menu et $sub_machin=index, pour la seconde, tu inclues $structure avec $machin=piece_of_news. Cette structure est entièrement réutilisable, et beaucoup plus maintenable, tu sais où se trouve quoi, et on a le header et le footer au même endroit, ce qui est de loin plus logique.

Eléphant du PHP | 53 Messages

23 sept. 2007, 14:42

Slt,

J'ai passer la nuit a regarder les different moteur de template et franchement c'est pas tres evident à mettre en place :( et je pense sincerement que je ne me retrouverai plus dans le code !!!

Je commence a desesperer de mettre des templates car ce que je ne comprend pas c'est comment gerer les block qui doivent oui ou non s'afficher etc...

ça me fais bien c....

il y a t-il des site qui fonctionnent sans template ?
Par contre l'avantage de travailler sans templates c'est que les page sont plus rapide
www.theitalianblog.com tout pour Nokia Symbian

ViPHP
AB
ViPHP | 5818 Messages

23 sept. 2007, 15:51

Ce que vous proposez est extrèmement laid, infonctionnel, et sale.
Et ben le jeune jedi, l'a passé un mauvais week end :?:

Même pour un débutant, il n'est pas interdit de partir sur de bonnes bases.
Dans l'absolu je dis pas que smarty ne serait pas la solution à son pb à ceci près que cela ne semble guère accessible à moins d'être un débutant très expérimenté :
I-C-1. Inconvénients
L'utilisation du système de template Smarty n'est pas à la portée de tous, souvent le développeur non chevronné sera rebuté par son utilisation. Par exemple, il est fréquent de ne pas trouver immédiatement la façon d'accéder à sa variable dans le template (même avec un peu d'expérience d'ailleur)... ce qui peut être un peu irritant.

Même avec une certaine expérience en PHP "traditionnel" (production et présentation PHP mélangés), l'utilisation de Smarty n'est pas évidente, elle remet en cause nombre de choses dans la manière de développer.

L'apprentissage du langage de templates (ce que l'on retrouvera dans nos fichiers .TPL) est indispensable. Cela pourra aussi en refroidir plus d'un. Ainsi il faudra connaître les variables (et les innombrables façon d'y accéder), les fonctions, le debogage. C'est ce que je me propose de vous expliquer.
source http://eric-pommereau.developpez.com/tu ... =page_1#LI

comme semble d'ailleurs le confirmer Joss850csi dans son dernier message...

Et si c'est pour développer un seul site je ne suis pas certain que l'investissement temps pour maîtriser Smarty soit rentable.

Eléphant du PHP | 53 Messages

23 sept. 2007, 17:00

exat ! AB merci aussi à tous de m'aider c'est ce qui prouve votre qualité et celle du Forum.

Mais il est vrai que quand on debute on veut tous savoir et essayer de faire de son mieux, enfin pour mon cas...

Car j'ai actuellement deja mon site de rencontre et il fonctionne (j'ai fait developer ça il y a 1ans par une société) car comme je l'ai dit c'est mon reve d'avoir mon site de rencontre (c'est pas pour moi, j'ai deja ma copine :D ) mais j'ai toujours voulu ça depuis 5ans aujourd'hui...

En ce temps là (il y a 1ans) j'ai payer 8000 euros pour le faire mais je dois avouer que je me suis fais avoir car ce n'est pas vraiment ce que je voulais et surtout je ne savais pas rediger un cahier des charges... Donc c'est pour cela que comme je ne veux plus me faire avoir (et j'ai plus de tune pour ça) je compte tout refaire moi-meme !!!

La grosse dificulté c'est que je ne connais personne qui soit developpeur pour que je puisse le voir a l'oeuvre, car moi j'apprend beeaucoup lorsque je vois faire, et surtout pour parler avec un pro.

Si un pro du php habitant vers Aix en provence veux avoir un peu de ma compagnie pour parler et que je puisse le voir a l'oeuvre, alors n'hesitez pas :oops:
www.theitalianblog.com tout pour Nokia Symbian