Accueil   Accueil    Forum   Forum    Download   Download    Livre d'or   Livre d'or    Contact   Contact    Liens Web   Liens Web

Petit problème de codage. - CMS KwsPHP - Le site clés en main

Colonne de gauche

Espace membre

Privé Masquer le formulaire de connexion


Se souvenir de moi ?


Mot de passe oublié

Menu

Forum

Sujets Importants

fleche basForum : Masquer l’entête

Accès rapide :

 

Effectuer une Recherche avancée OU


fleche basPetit problème de codage.  [13 réponses]

puce Index du Forum  » Divers  » Webmastering


Répondre


fleche bas

σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
Imprimer Permalien vendredi 25 mars 2022 à 10:28  
salut les codeurs.

Je vais devoir créer une série de sites (blog principalement) identiques mais pour différents pays.

Pour ne pas devoir réécrire tout le contenu des fichiers je suis en train de remplacer chaque mot en français par une variable. Pour ça j'ai créé un petit module "Trad" qui me permettra de gérer mes traductions depuis l'admin.

J'appelle mes variables sous la forme '.$GLOBALS['mavariable'].', tout marche très bien...

Mais je bute sur un truc...

Dans le fichier includes/date.php j'ai un truc sous cette forme:

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. static $jours=array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
  5.  
  6. #####!!!#####
  7. ?>


Le souci c'est que si je remplace "dimanche" par
"'.$GLOBALS['dimanche'].'" etc, dreamweaver me donne une erreur et en effet, ça plante.

Une solution pour remplacer chaque élément d'un array par une variable globale?


Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


Infos CMS KwsPHP


Informations : Avant de poster un sujet sur le forum

Veuillez avant tout vérifiez la comparaison de vos fichiers sur votre site
Mon compte / Outils / Comparaison


La recherche avancée du forum (en ciblant au mieux les options de la recherche)
La Faq - La documentation - La documentation en vidéo - Le sujet "Install et Mise à jour"
Vous devez lire en priorité le topic de la 1.6 pour en découvrir ses fonctionnalités


Afficher



ΦOtocinclus
Administrateur
stars7.png


avatar
Hors ligne

Nombre de posts: 3163 (0.43/Jour)
Inscrit(e) le: 02 septembre 2006
Visiter son site
Imprimer Permalien vendredi 25 mars 2022 à 13:22  
Salut jack

tu as ce pb sur ces seuls array ou sur tous les array ? Quand tu dis que ça plante, tu as un message d'erreur ?

Peut-être parce que ceux-ci dont static ... Je ne vois d'ailleurs pas vraiment l’intérêt de déclarer ces array en static ... mais cela est un autre sujet !

Sinon tu dois pouvoir utiliser des constantes plutôt que des variables globales

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. define ('DIMANCHE', 'sunday');
  5. define ('LUNDI', 'monday');
  6. .../...
  7.  
  8. #####!!!#####
  9. ?>


Code PHP (includes/date.php) :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. static $jours=array(DIMANCHE,LUNDI,...));
  5.  
  6. #####!!!#####
  7. ?>

si c'est compatible avec ton module Trad ...


LES C0NS, ÇA OSE TOUT. C'EST MÊME À ÇA QU'ON LES RECONNAÎT.

Michel Audiard


σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
Imprimer Permalien vendredi 25 mars 2022 à 13:39  
Salut Oto

Les array en static ne me semblaient pas très importants...

Du coup j'ai remplacé ça:

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. static $jours=array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
  5. static    $mois = array(1=>"janvier", "f&eacute;vrier", "mars", "avril", "mai","juin", "juillet", "ao&ucirc;t", "septembre","octobre", "novembre", "d&eacute;cembre");
  6. static    $mois_court = array(1=>"jan", "f&eacute;v", "mar", "avr", "mai","jui", "jui", "ao&ucirc;", "sep", "oct", "nov", "d&eacute;c");
  7.  
  8. #####!!!#####
  9. ?>


Par ça:


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. global $dimanche, $lundi, $mardi, $mercredi, $jeudi, $vendredi, $samedi;
  5. global $janvier, $fevrier, $mars, $avril, $mai, $juin, $juillet, $aout, $septembre, $octobre, $novembre, $decembre;
  6. global $xs_janvier, $xs_fevrier, $xs_mars, $xs_avril, $xs_mai, $xs_juin, $xs_juillet, $xs_aout, $xs_septembre, $xs_octobre, $xs_novembre, $xs_decembre;
  7.  
  8.     $montabjours=array($dimanche, $lundi, $mardi, $mercredi, $jeudi, $vendredi, $samedi);
  9.     $montabmois=array($janvier, $fevrier, $mars, $avril, $mai, $juin, $juillet, $aout, $septembre, $octobre, $novembre, $decembre);
  10.     $montabmois_court=array($xs_janvier, $xs_fevrier, $xs_mars, $xs_avril, $xs_mai, $xs_juin, $xs_juillet, $xs_aout, $xs_septembre, $xs_octobre, $xs_novembre, $xs_decembre);
  11.  
  12.     $jours=$montabjours;
  13.     $mois = $montabmois;
  14.     $mois_court = $montabmois_court;
  15.  
  16. #####!!!#####
  17. ?>


Par contre je viens de voir qu'il y a 1=> dans les 2 derniers array...c'est important?

Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


ΦOtocinclus
Administrateur
stars7.png


avatar
Hors ligne

Nombre de posts: 3163 (0.43/Jour)
Inscrit(e) le: 02 septembre 2006
Visiter son site
Imprimer Permalien lundi 28 mars 2022 à 20:51  
Bonsoir,

oui le 1 => est important car sans cela ton tableau commence à l'index 0
Donc pour toi $mois[1] = février et non janvier. En plus $mois[12] va planter car ton tableau débutant à 0, il s’arrête à 11 ...
Idem bien sûr pour $mois_court !


LES C0NS, ÇA OSE TOUT. C'EST MÊME À ÇA QU'ON LES RECONNAÎT.

Michel Audiard


σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
Imprimer Permalien mardi 29 mars 2022 à 08:45  
Super, merci Oto.
J'ai fait la modif.

Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


stef005
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 8
Inscrit(e) le: 04 décembre 2010
Visiter son site
Imprimer Permalien jeudi 31 mars 2022 à 21:29  
Salut et tout simplement avec un define ("","") en fonction du pays ?

@ ++ stef


σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
Imprimer Permalien jeudi 31 mars 2022 à 23:07  
Salut Stef.
Malheureusement mes compétences en codage ne sont pas suffisantes pour que je comprenne ce que tu veux dire smiley sg3agarfg3ag.gif
Tu peux développer un peu? smiley sg3agrougisg3ag.gif

Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


Myster621
starsj2.png
Visiteur


avatar
Hors ligne

Nombre de posts: 81 (0.02/Jour)
Inscrit(e) le: 13 novembre 2015
Visiter son site
Imprimer Permalien samedi 2 avril 2022 à 22:42  
Pourquoi ne pas faire directement un


Code PHP (php) :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4.  
  5. const JOURS = [1 => "Lundi", 2 => "Mardi", 3 => "Mercredi", 4 => "Jeudi", 5 => "Vendredi", 6 => "Samedi", 7 => "Dimanche"];
  6.  
  7.  
  8.  
  9. #####!!!#####
  10. ?>


Ainsi tu y accéde directement via JOURS[1] => Retourne Lundi par exemple.


stef005
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 8
Inscrit(e) le: 04 décembre 2010
Visiter son site
Imprimer Permalien lundi 11 avril 2022 à 22:40  

Citation de jacknikolson :
Salut Stef.
Malheureusement mes compétences en codage ne sont pas suffisantes pour que je comprenne ce que tu veux dire smiley sg3agarfg3ag.gif
Tu peux développer un peu? smiley sg3agrougisg3ag.gif



Salut jacknikolson,
en gros tu met un fichier langue en fonction du pays qui contient le fichier a appeler en fonction du pays que tu récupère avec la fonction :
geoip_country_name_by_name(string $hostname): string

et en suite tu met ça dans le header :


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php
  2. $country = geoip_country_name_by_name('www.example.com');
  3. if ($country) {
  4.     $country=langue ;
  5. }
  6. ?>

Dans ton fichier langue tu place :
define ("FR","Bla Bla bla. ") ;
define ("UK","Blo Blo blo. ") ;

etc...

Plus simple à dire que faire, mais cela fonctionne smiley sg3bgg29g.gif
Je me tape la tête contre les murs( quasi 1 an) en ce moment avec ça ! smiley sg3aglolg3ag.gif

Bref avec cela tu devrais t'en sortir avec un peu de temps et de persévérance smiley sg3bgg29g.gif

@+++ stef



@ ++ stef


σjacknikolson
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 652 (0.09/Jour)
Inscrit(e) le: 23 juin 2006
Visiter son site
Imprimer Permalien mercredi 13 avril 2022 à 09:14  
Ok stef005, merci pour les précisions.
Maintenant je comprends.

Je me méfie un peu de la géolocalisation par IP... vu que de plus en plus de gens utilisent un VPN (moi le premier), mais c'est vrai que la plupart des sites fonctionnent comme ça maintenant.

Par contre mon idée est d'éviter d'écrire les traductions dans un fichier php mais de rendre ça accessible depuis l'admin, car je vais surement devoir laisser le site en main à d'autres personnes par la suite et ils ne seront pas capables de bosser sur du code.

Je crois que chez Prestashop les traductions sont écrites dans un fichier xml, appelé par le backoffice, mais je trouve ça super lourd et lent.

Bref, c'est vrai que ça reste un casse tête ^^

Création de site internet Chambéry - Référencement seo de site internet à Chambéry -
Photographe de mariage Chambéry -


stef005
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 8
Inscrit(e) le: 04 décembre 2010
Visiter son site
Imprimer Permalien mercredi 13 avril 2022 à 19:45  
Certe le VPN cause problème, mais cela reste une solution, en XML cela reste lourd, en PHP c'est quasi transparent smiley sg3bgg29g.gif
Ce n'était qu'une idée pour faire avancer ton projet smiley sg3agarfg3ag.gif

Bonne chance à toi smiley sg3bgg29g.gif

smiley sg3agchampiong3ag.gif


@ ++ stef


fleche basPetit problème de codage.  [13 réponses]

Répondre



puce Index du Forum  » Divers  » Webmastering