Title dynamique sous un systeme d'include.

WRInaute occasionnel
Bonjour tout le monde.

Je me suis bien informer sur les différentes manieres d'installer des include dynamique et je trouve toutes ces manières très interessantes mais hélas, je suis dans l'obligation de vous poser une question dont je connais déja la réponse: "C'est impossible".

J'utilise un systeme d'include pour inclure mes pages dans le conteneur principal et dans la quête d'une meilleur optimisation, je cherche à avoir des title dynamique.

Pour vous donnez le maximum de détail, voici un petit shéma
titleae4.gif


Je fait un peu l'inverse de ce que l'auteur de ce topic utilise:
https://www.webrankinfo.com/forum/t/include-title.19377/

j'inclus mes pages dans un conteneur, contrairement à inclure les différentes parties (header, footer, menus) dans le contenu.

J'utilise ceci
Code:
<?php 
if (!isset($_GET['page'])) $page= 'acceuil'; else $page= $_GET['page']; 
 switch($page)
{
case 'accueil':include ('accueil.php');break;
case 'test':include ('/xx/test.php');break;
} 
?>

Y'a t-il une solution étant donné que j'ai déja des centaines de pages sous cette méthode.

Je suis ouvert à toute suggestion.
 
WRInaute impliqué
Si La variable $titre est declarée avant l'inclusion, pas de soucis, elle peut-etre affichée. ( pas sur d'avoir bien saisie la question )
 
WRInaute impliqué
J'utilise une méthode similaire à la tienne, mais le truc c'est que je stocke tout mon texte dans une variable, que j'affiche à la fin.... Exemple :

> page index.php
Code:
<?
include('contenu.php');
?>
<html>
<head>
<title><? echo $title; ?></title>
</head>
<body>
<? echo $texte; ?>
</body>
</html>

> page contenu.php
Code:
<?
$titre = "C'est le titre";
$texte = "bonjour";
?>


Mais ca t'oblige a revoir tes pages...


l'autre solution ca serait de faire un truc dans ce genre dans ta page page principale :

Code:
<?
switch ( $page ) {
     case 'accueil' : $titre = 'Accueil'; break;
     case 'page2' : $titre = 'Titre page2'; break;
     ....
     default : $titre = 'Titre par defaut';
     }
?>
 
WRInaute occasionnel
NxtGen a dit:
J'utilise une méthode similaire à la tienne, mais le truc c'est que je stocke tout mon texte dans une variable, que j'affiche à la fin.... Exemple :

> page index.php
Code:
<?
include('contenu.php');
?>
<html>
<head>
<title><? echo $title; ?></title>
</head>
<body>
<? echo $texte; ?>
</body>
</html>

> page contenu.php
Code:
<?
$titre = "C'est le titre";
$texte = "bonjour";
?>

Si je comprend bien, ton fichier contenu.php contient les variables que tu as declarer pour ton header que tu inclus sur ton index, et puis tu fais appel a cette meme variable pour ton title mais, si j'inclus par exemple une autre page qui elle, ne possede meme de balise <head> et qui vient s'inserer directement dans le div conteneur, ton include sur contenu.php ( ou se trouvent ta variable title) n'est plus valide car la valeur de ton title change. Etant donné que mes pages ne sont pas indépendantes une de l'autre, cette méthode s'avere inutile...?

Si j'ai louper un bout, je m'en exuse, tu pourrais me donner un exemple pour une page X qui elle, viendrait s'inclure dans mon conteneur.


Concernant la 2eme solution, si je comprend bien ce bout de code (ce qui ne m'arrive pas souvent), tu attribues une valeur title pour chaque page. Ce bout de code viendrait s'inserrer dans quelle partie de l'index?(entres quelles balises)

Merci.

[EDIT]
Ta 2eme solutions marche parfaitement! Je n'arrivais pas aux resultats car je declarais ma variable apres la balise <title> mais c'est reglé.

PS: Comment pourrais-je rajouter des apostrophes <<'>> dans ma valeur $title sans que PHP ne considere celle ci comme un du code. Je peux utiliser &apos; ?Car, meme la, le";" poserait un probleme :cry:



Merci
 
Discussions similaires
Haut