8795 sujets

Développement web côté serveur, CMS

bonjour,
je viens du salon sur l'encodage (topic ici).
mais je prefere vous poser ma question ici vu que maitnenant il s'agit de php, syntaxe...

s'il y a des doués en php je veux bien poser ma question... je pense qu'il s'agit d'une question sur la syntaxe
(question de debutante sans doute)


je souhaite regrouper les modifications dans un seul fichier pour chaque langue.

ex: lang-fr.php / lang-en.php

je souhaite y mettre par ex les variables pour les titres des pages.

mais j'ai une question au sujet des titres des pages.

dans mon header (page commune a toutes les pages)

je mets d'habitude :


<title> <?php echo $title; ?> </title>  




et d'habitude encore je mets dans les pages

<?php $title = "titre de la page ex: biographie ";   
include("header.php");   
?>  

le contenu de ma page

puis l'inculde du footer.php 




le probleme que j'ai, doit etre un probleme de syntaxe je pense, a moins que ce que je veux faire soit impossible ?

je souhaite mettre dans mon fichier langue-fr.php



// TITRE PAGE / ENTETE   
    //---------------------------------------------------------    
    define('TITRE_ACCUEIL', 'page d'accueil du site');  
define('TITRE_bio, 'page bio du site');  

etc...  
pour chaque page  





mon probleme c'est que je n'arrive pas a "déclarer" correctement ma nouvelle variable, pour qu'elle change a chaque nouvelle page (un titre different pour chaque page)

je souhaite faire clea pour eviter d'avoir a ouvrir chaque page si je veux modifier les titres des pages.

je pensais a un truc du genre :

<?php $title = TITRE_ACCUEIL;    
include("header.php");    
... 


mais bien sur ce n'est pas correct

merci d'avance de vos suggestions
si ce n'est pas possible merci de me prevenir, car je cherche encore et encore Smiley cligne

a+
Modifié par Angelik (12 Apr 2007 - 15:41)
Salut,

Ce que tu souhaites faire est tout à fait possible, sauf que tu dois te diriger vers une autre méthode. Cette méthode consiste en l'utilisation d'un tableau. Pour cela, il te suffit de déclarer un tableau à deux dimensions comme par exemple celui-ci :
$GLOBALS['title']['accueil'] = 'page d'accueil du site';
$GLOBALS['title']['bio'] = 'page bio du site';
....


Rmq : $GLOBALS permet d'accéder au tableau depuis n'importe où dans le code.

Ensuite, il ne te reste plus qu'à indiquer au début de chaque page quelle titre tu souhaites insérer. Par exemple :
<?php
 $mon_titre = 'accueil';
 include('header.php');
 ...
?>


Enfin ton header ce présente de cette façon :
<title> <?php echo $GLOBALS['title'][[b]$mon_titre[/b]]; ?></title>  


J'éspère que cela t'aidera Smiley cligne
merci, oui cela m'aidera

je vais essayer.

pour le moment je me demande si je vais continuer la structure que j'ai comméncé ou en utiliser une autre.

car ce que je tente de faire c'est un site multi-langues (6 ou 7 au total)
et donc je voulais utiliser un fichier langue pour chaque langue et donc avec des variables pour les differentes langues.
j'ai vu des tuto sur differents sites a ce sujet.

mais les solutions etaient surtout de tout mettre en variables, meme le contenu des pages
ce que je ne peux pas faire a cause de la mise a jour qui sera complexe pour la personne qui gerera ensutie le site.

donc j'ai commencé par faire un sommaire en utilisant "define", pour chauqe langue.
et j'avais le probleme pour le titre des pages

car mon header serait commun a toutes les langues.

donc je vais commencer par tester ton code.
(j'avais deja eu a faire aux tableaux php , mais c'etait pour la structure d'un site)

merci encore.

sinon faut que je reflechisse aussi quelle est la meilleur solution pour un site multi langues avec l'utilisation des include.

a+
Modifié par Angelik (12 Apr 2007 - 19:04)
ymhotepa a écrit :
Salut,

(...)

J'éspère que cela t'aidera Smiley cligne


Ca marche très bien.
j'ai testé sur fr et en

merci beaucoup
en plus j'ai bien compris Smiley cligne Smiley biggrin

donc je retourne reflechir sur la structure.

a+