Un titre pour chaque pages (header, class) [Résolu]

Signaler
Messages postés
50
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
-
Messages postés
50
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonjour à tous,
Je post mon message en php car mon site est construit avec ce langage, mais mon probleme est plutot pratique...
J'ai fait mon site avec un header sur toutes les pages (toujours le meme) qui va chercher une class qui affiche le doc type les metas...et tout et tout.
Je m'explique :
1)  Le header est un include présent sur toute les pages!!!
2) Dans le fichier header , il y a un autre include pour appeller un fichier avec la class site_header.
Donc je fait : (ca c'est dans le fichier header)
$entete= new site_header;
$entete->titre="Bienvenue sur le site de vélos Jeep!";
$entete->affiche();
Mon probleme est le suivant je souhaiterais que le titre soit différent sur chaque page
Et si je met les 3 lignes ci dessus dans chaque fichier ca ne marche pas!!!
Comment est ce que je dois faire???

merci d'avance, j'espere avoir éte suffosament claire!!
val

7 réponses

Messages postés
50
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
1
Bon merci bien : mon site a desormais un titre propre a chacune de ses pages.
Pour cela j'ai du séparer le header (ou je me connect) au debut de la page ou y'a head.
et du coup j'appelle l'objet  header de ma page.

$entete= new header;
$entete->titre="na nana!";
$entete->affiche();

et ca marche! merci!
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Je suppose que ton titre dépend de l'url de la page?
Si c'est le cas, tu n'as qu'à faire un switch(...) sur le nom de la page que tu aura bien evidemment récupéré au préalable.
Ainsi, selon la page ou l'utilisateur se trouve, le bon titre sera affiché.

Shell
Messages postés
50
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
1
oui! ca peut etre une solution.
Mais il n'y a rien de plus leger?
J'ai pas mal de page...comment fait on professionelement?

mon site : http://www.jeepbikes.fr/
(c'est le premier que je fait je suis en stage/formation)
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
4
D'après ce que je peux voir sur ton site, chaque page est construite comme cela :

<?php
include 'header.php';
?>
----- html de la page
<?php
include 'footer.php';
?>

Cette structure ne te permet pas de modifier dynamiquement le nom de tes pages dans la mesure où chaque page semble être unique. Il n'y a pas d'identifiant pour chaque page comme on pourrait en trouver sur les structures via pseudo frames et contrôleur frontal (exemple : index.php?page=nomDeMaPage).

De ce fait, tu vas être obligé de déterminer toi même le titre de chaque page juste avant l'include du header. Ce qui donne dans chaque page :

<?php
$entete= new site_header();
$entete->titre="Liste des vélos jeep !";
include 'header.php'; // dans celui ci, tu fais le $entetes->affiche()
?>

Voilà.

Par contre cette classe me semble bien obsolète. Probablement écrite en PHP4 vu que l'attribut "titre" est public.

Une autre remarque concernant ton site : le poids des images et de l'intro d'entrée. Essaie de les diminuer parceque même avec une connexion haut débit ça se traine...

Remarque positive : j'adore le système de news sur les fiches détail des vélos ;)

++

Hugo HAMON
LP Développeur d'Applications Multimédia Multisupports - Ecole Gobelins - Annecy
-------
http://www.apprendre-php.com
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
hello,
l'attribut "titre" peut très bien être un attribut virtuel passant par class::__set(). Cela peut très bien être du PHP5.
Et mettre un attribut en public ne veut pas dire qu'on code en PHP4...le mot clef public existe en PHP5 et sert bien à quelque chose ;-)

Il peut tout à fait instancier son objet site_header dans le header de son site (header.php par exemple), en lui fixant son attribut "titre" dynamiquement en fonction de la page courante, je ne vois pas où est le problème.
Et il faut passer par un switch() ou un tableau (ce qui me semble plus approprié s'il y a beaucoup de pages) affectant à une page (son basename) un titre, en effet.
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
4
>> Cela peut très bien être du PHP5.
>> Et mettre un attribut en public ne
veut pas dire qu'on code en PHP4...le mot clef public existe en PHP5 et
sert bien à quelque chose ;-)

Oui je sais bien Malalam. Mais il y'a aussi le fait que la classe ne semble pas respecter certaines convention de codage OO comme déjà écrire le nom de la classe en camel case. Je ne faisais qu'une supposition concernant la version de PHP ^^

>> Et il faut passer par un switch() ou un tableau (ce qui me semble plus
approprié s'il y a beaucoup de pages) affectant à une page (son
basename) un titre, en effet.

Pas bête ça je n'y avais pas pensé en effet. Au temps pour moi ;)

Hugo HAMON
LP Développeur d'Applications Multimédia Multisupports - Ecole Gobelins - Annecy
-------
http://www.apprendre-php.com[apprendre à program
Messages postés
50
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
1
Merci de vos réponses!
par contre je ne comprend pas grand chose! (suis une graphiste qui fait du multimédia depuis 6 mois)
Ce que dit hugo a l'air plus simple....
Trop de mot que je ne comprend pas malalam : attribut virtuel, public, cle, instancier...dsl
bon Je vais essayre décortiquer tout ca..

(Les images sont lourdes t'es sur? on vient de mettre le site ce matin, mais j'ai tester ailleur ou on a du moins de 1 m en connection et ca passais bien... faut que je le regarde chez moi!)