Meta description automatique en php

WRInaute occasionnel
Bonjour,

voilà je l'explique, voici mon site : www.sanandreas-fr.net

j'utilise le php pour indéxer dans index.php, le menu de gauche (gauche.php), le menu de droite (droite.php) et le centre (centre.php) par un simple include :

Code:
<? include("pages/adresse-de-la-page"); ?>

ensuite dans ma page centre.php j'ai mis toutes les pages de mon site en include aussi :

Code:
<?php if ($page=="accueil") {include ("accueil.php");}
if ($page=="") {include ("accueil.php");}?>
... etc

Mais le problème c'est que toutes mes pages ont les même meta (description, title...) vu que mes pages sont inclusesdans index.php qui contient les balises meta.

Je voudrais donc savoir s'il nexistait pas un moyen de changer la balise meta name="description" et title pour chaque page. Si oui comment faire ?

Merci de votre aide, j'espère m'être bien fait comprendre :?
 
WRInaute occasionnel
oui c'est possible.

les URL de tes pages sont du type index.php?page=xxxx

il te suffit donc de mettre un code du type :

Code:
<?php
$page = $_GET['page'];

switch ($page){
case 'accueil' : echo "description";

etc...
}
?>
 
WRInaute passionné
Salut,

Je n'aime pas du tout ce genre de template.

Ce que tu inclues en "centre" doit constituer une nouvelle page physique ! (Enfin c'est ma façon de travailler).
 
WRInaute occasionnel
Tu peux pas me faire un exemple ?

Par exemple pour la pages vetements :

http://www.sanandreas-fr.net/index.php?page=vetements

je voudrai que à la place de :

Code:
<title>GTA San Andreas - L'Univers de GTA San Andreas - SanAndreas-Fr.net</title>
<meta name="description" content="Site proposant plusieurs ressources pour GTA San Andreas t'elle que des news, guides sp&eacute;ciaux, aides, galerie d'images, rubriques t&eacute;l&eacute;chargements compl&egrave;te et bien plus encore." />

Il y est
Code:
<title>GTA San Andreas - Les vêtements</title>
<meta name="description" content="Tout sur les vêtements présent dans GTA San Andreas." />

Merci parce que là je vois pas trop comment faire :oops:
 
WRInaute occasionnel
dorian53 a dit:
Salut,

Je n'aime pas du tout ce genre de template.

Ce que tu inclues en "centre" doit constituer une nouvelle page physique ! (Enfin c'est ma façon de travailler).

Comment ça ? Les pages que j'inclues dans index.php par le biais de centre.php son des pages physique, elles n'ont pas de meta ni de doctype... elles ont juste le contenu.

Explique toi mieux stp.
 
WRInaute occasionnel
Pour la balise meta description :

<?php
$page = $_GET['page'];

switch ($page){
case 'vetements' : echo "Tout sur les vêtements présent dans GTA San Andreas.";

etc...
}
?>

Tu fais pareil pour le titre sauf que tu mets le titre à la place.
 
WRInaute passionné
keitboor a dit:
dorian53 a dit:
Salut,

Je n'aime pas du tout ce genre de template.

Ce que tu inclues en "centre" doit constituer une nouvelle page physique ! (Enfin c'est ma façon de travailler).

Comment ça ? Les pages que j'inclues dans index.php par le biais de centre.php son des pages physique, elles n'ont pas de meta ni de doctype... elles ont juste le contenu.

Explique toi mieux stp.


Fais l'inverse, importe l'header, tes menus, le footer sur tes pages, c'est pas à l'index de gérer ça.
 
WRInaute impliqué
dorian53 a dit:
Fais l'inverse, importe l'header, tes menus, le footer sur tes pages, c'est pas à l'index de gérer ça.

Dans les gros projets, on tend à faire l'inverse actuellement, on a un template principal qui importe les autres templates, c'est un des héritages du pattern MVC.

Le contrôleur principal ( Front controller ) invoque les autres contrôleurs qui lui ramène leur vue qu'il intègre dans sa propre vue.
 
WRInaute occasionnel
Quelque chose du genre :
Code:
<?php 
echo "<meta name=\"description\" content=";
$description = "";
if (IsSet($_GET['page'])) {	$description = $_GET['page']; }
   else { $description = "defaut";}
   switch ($description) {
	case 'parametredepage1': echo "\"descriptionpage1\""; break; 
	case 'parametredepage2':echo "\"descriptionpage2\""; break; 
	defaut: echo "\"descriptionpardefaut\""; break; }
echo  "/>";
?>
 
WRInaute occasionnel
Ca marche à moitié lol, voici le code que j'ai inséré dans index.php, entre <head></head> (un exemple)

Code:
<?php
$page = $_GET['page'];

switch ($page){
case 'armes' : echo "<title>GTA San Andreas : Les armes</title><meta name=\"description\" content=\"Tout sur les armes de GTA San Andreas.\" />";

.... etc

}
?>

Le problème, comme vous pouvez le voir quand vous regarder le code source (CTRL+U) c'est que ca met toutes les meta description dans chaque pages !! Pour la balise title ca marche impec...

Je n'ai pas encore fait toutes mes pages, essayer celle là pour visualiser le code :

http://www.sanandreas-fr.net/index.php?page=armes

Aidez moi svp, merci.
 
Discussions similaires
Haut