[RESOLU] Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par two3d » 20 nov. 2021, 02:02

Tu peux passer en résolu ;)

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par patrmich » 19 nov. 2021, 19:01

Merci pour toutes vos réponses.

Je vais effectivement fait un remplacement, du type suivant :

Code : Tout sélectionner

$order_date_text = str_replace("Mon-", "Lundi-", $order_date_text);
Merci encore !

Patrick

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par @rthur » 13 nov. 2021, 23:54

Comme supposé dans la première réponse, le deuxième paramètre de la fonction displayDate() permet justement de définir l'identifiant de la langue
Français est l'id numéro 2 (Anglais est id numéro 1, mais seul le Français est activé)
Moi j'aurai tenté de remplacer ton null par 2 du coup.


Mais sinon le + simple (sans relire tout le code de Prestashop) c'est effectivement de faire un remplacement.

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par two3d » 12 nov. 2021, 18:22

Remplace

Code : Tout sélectionner

$order_date_text = Tools::displayDate(date('D-d-m-Y'),null , 1);
par

Code : Tout sélectionner

$VariableAjoutee_jours = array(1 => "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"); // date('N') donne le jour de la semaine de 1 à 7 commençant par le lundi $VariableAjoutee_date = $VariableAjoutee_jours[intval(date('N'))]." ".date('d-m-Y'); $order_date_text = Tools::displayDate($VariableAjoutee_date,null , 1);
Merci finipe au passage pour l'astuce de mettre l'id de départ, je les mettais à tous ;)

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par patrmich » 10 nov. 2021, 16:18

Bonjour,

Merci encore pour cette réponse rapide.

J'utilise la version de Prestashop 1.5.6.2.

La langue est bien définie dans l'admin :
Localisation > Langues
Français est l'id numéro 2 (Anglais est id numéro 1, mais seul le Français est activé)
Le fichier dans lequel je souhaiterais afficher la date en Français avec le jour de la semaine est :modules\mailalerts\mailalerts.php

A l'origine dans ce fichier figurait :

Code : Tout sélectionner

$order_date_text = Tools::displayDate($order->date_add);
Ainsi, dans le mail de confirmation de commande reçu par le marchand la date était affichée comme suit :
09/11/2021

J'ai remplacé le code ci-dessus par le code suivant :

Code : Tout sélectionner

$order_date_text = Tools::displayDate(date('D-d-m-Y'),null , 1);
Ainsi, dans le mail de confirmation de commande reçu par le marchand la date est maintenant affichée comme suit :
Tue-09-11-2021

Je préfèrerais qu'elle soit affichée en Français, c'est à dire :
Mardi 09-11-2021 (ou Mardi 09/11/2021)

Merci à nouveau par avance pour toute aide.

Patrick

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par ynx » 10 nov. 2021, 13:55

Bonjour,

A priori la classe Tools provient de Prestashop, mais on ne sait pas quelle version de Prestashop est utilisée.
https://github.com/PrestaShop/PrestaSho ... s.php#L974

Comme supposé dans la première réponse, le deuxième paramètre de la fonction displayDate() permet justement de définir l'identifiant de la langue, néanmoins je ne sais pas quel identifiant correspond à chaque langue dans Prestashop.
Ce paramètre est déprécié dans la dernière version, par défaut il semble que c'est la langue du shop qui devrait être automatiquement utilisée. Est-ce que la langue est bien définie en Français dans la configuration du shop ?

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par patrmich » 10 nov. 2021, 13:18

Merci finipe pour la suggestion.

Dans mon fichier php se trouve :

Code : Tout sélectionner

$order_date_text = Tools::displayDate(date('D-d-m-Y'),null , 1); '{date}' => $order_date_text,
Pourriez vous m'indiquer par quel code je dois remplacer ces deux lignes.

Désolé pour mon incompétence !

Merci par avance

Patrick

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par finipe » 10 nov. 2021, 12:39

Ce n'est peut-être pas très optimisé ni académique, mais pour ça je fais un truc dans ce genre là :

Code : Tout sélectionner

$jours = array(1 => "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"); // date('N') donne le jour de la semaine de 1 à 7 commençant par le lundi $date = $jours[intval(date('N'))]." ".date('d-m-Y');

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par patrmich » 10 nov. 2021, 11:14

Bonjour,

Dans le fichier php concerné, ne figure aucune autre ligne avec Tools::displayDate ou avec Tools::displayDate.

Est-il possible, avec la fonction str_replace de remplacer Tue- par Mardi ?
Si oui, comment faudrait-il procéder ?

Merci par avance pour toute réponse.

Patrick

Re: Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par @rthur » 09 nov. 2021, 12:32

Bonjour,

Recherche où est défini la fonction Tools::displayDate() et regarde les paramètres attendus, avec un peu de chance tu pourras y définir la langue ;-)

Comment afficher le jour de la semaine en Français : Lundi, Mardi,..

par patrmich » 09 nov. 2021, 10:52

Bonjour,

Je suis peu compétent en php.

Dans un fichier php, se trouve le code suivant :

Code : Tout sélectionner

$order_date_text = Tools::displayDate(date('D-d-m-Y'),null , 1); '{date}' => $order_date_text,
Ce code permet d'afficher la date sous la forme ci-dessous :
Tue-09-11-2021

Comment pourrais je afficher la forme ci-dessous :
Mardi 09-11-2021

Je vous remercie par avance pour toute aide.

Cordialement,

Patrick