J'y comprends rien !!! Maintenant cela recommence comme avant et oui je voulais rédiger un tutoriel et voilà encore un décalage de 2 heures logé ou pas
Problème d'heure
Réduire
X
-
Hello.
Le plus simple est de regarder l'heure stockée en DB au moment de la création de l’événement.
Je ne connais pas le composant allEvents car j'en utilise un autre, mais s'il respecte la logique de Joomla l'heure stockée est toujours en UTC.
Voir mon tuto : https://ordi-genie.com/joomla/develo...-et-les-heures
Ensuite, c'est uniquement un problème de conversion à l'affichage selon le fuseau du site (si visiteur) ou de l'utilisateur courant.
Le + simple étant d'utiliser JHtml::date
Voir :
ouCode PHP:$date = Factory::getDate($date_in_db, 'UTC');
$date->setTimezone(Factory::getUser()->getTimezone());
//$format : voir fonction php date
echo $date->calendar($format, true)
Dernière édition par roland_d_alsace à 08/07/2019, 14h08A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
Rejoignez le Joomla Users Groupe Alsace...roland_d_alsace va-t-il devenir roland_du_grand_est ?
Commentaire
-
Envoyé par phelibre Voir le messageMerci Roland_d_alsace je vais regarder. Sans indiscrétion quel composant utilisez-vous à la place de AllEvents ?
Moi j'utilise Jevents en version payante depuis de nombreuses années, car j'ai développé des extensions de ligue sportive qui fonctionnent avec (synchronisation de calendriers fédéraux).
Tu trouveras plusieurs discussions sur ce forum au sujet des composants de gestion événementielle (events booking, dpcalendar, etc...).A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
Rejoignez le Joomla Users Groupe Alsace...roland_d_alsace va-t-il devenir roland_du_grand_est ?
Commentaire
-
Donc me revoilà
Pour commencé ton code PHP me retourne rien roland_d_alsace ... par contre ton lien auto m'a été bien utile
Ensuite je me suis penché sur mon serveur local ou je n'ai pas de problème. J'ai crée une permanence aujourd'hui de 15 à 18 h sous le nom de Pierre.
Je suis allé (avec des pincettes je ne méprise pas) sous PHPMyAdmin cherché une base en relation avec events et fait une recherche sur la chaine Pierre : on constate que effectivement l'heure est stocké en UTC. Donc je suis allé sur le serveur en exploitation, fait la même chose et même résultat (pièces jointes). Quelque soit le fuseau, Joomla utilise l'heure UTC.
Donc comme tu le soulignes c'est à l'affichage que se passe le décalage d'heure, mais ou et pourquoi puisque que cela tourne bien sous MAMP !!!
Merci,
Commentaire
-
Envoyé par phelibre Voir le messageDonc me revoilà
Ensuite je me suis penché sur mon serveur local ou je n'ai pas de problème. J'ai crée une permanence aujourd'hui de 15 à 18 h sous le nom de Pierre.
Je suis allé (avec des pincettes je ne méprise pas) sous PHPMyAdmin cherché une base en relation avec events et fait une recherche sur la chaine Pierre : on constate que effectivement l'heure est stocké en UTC. Donc je suis allé sur le serveur en exploitation, fait la même chose et même résultat (pièces jointes). Quelque soit le fuseau, Joomla utilise l'heure UTC.
Donc sur les 2 serveurs, en local comme en prod, si tu saisis 18H à la création de l'évenement c'est 16H qui est stocké en DB, tu confirmes bien ce point (sûr et certain) ?
Si oui, à l'affichage, c'est 16H qui est affiché en front ?
Ceci que l'utilisateur soit identifié ou pas ?Dernière édition par roland_d_alsace à 09/07/2019, 18h39A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
Rejoignez le Joomla Users Groupe Alsace...roland_d_alsace va-t-il devenir roland_du_grand_est ?
Commentaire
-
Bonjour,
Joomla 3.9.9 est en UTC. Hier le 9 je crée un événement en frontend depuis l'utilisateur depassage qui est configuré avec le fuseau Paris entre 15 et 18h. Dans la BD l'événement est stocké entre13 et 16h même chose depuis le backend événement visible depuis la supervision AllEvents. À l'affichage du planning sans être logé il n'y a pas de décalage horaire de l'événement. Je me loge avec un user qui est configuré Fuseau horaire par défaut, même chose pas de décalage. Je me loge avec le user depassage fuseau horaire Paris et là il y a un décalage de +2 h à l'affichage du planning ... Ce matin je passe le fuseau de l'utilisateur depassage à défaut et maintenant l'affichage du calendrier est bonne !!!
Commentaire
-
à la suite du précédent post, je crée le même événement aujourd'hui depuis depassage fuseau par défaut, on remarque que l'heure n'est pas stocké à l'heure UTC depuis le backend et à l'affichage du calendrier je retrouve les +2 h ! Délogé les +2 h persiste dans le calendrier !!!
Dois-je passer Joomla sur le fuseau de Paris et les utilisateurs aussi ?
Dernière édition par phelibre à 10/07/2019, 08h10
Commentaire
-
Après un WE largement chargé Oneline me répond suite à mon problème d'affichage de l'heure dans le calendrier :
Le système est configuré en utc+2 mais votre hébergement (mutualisé)ne le prends pas en compte. Je vous invite à le configurer directement via un .user.ini: dans www
Dans ce fichier je mets quoi ?
<?php
date_default_timezone_set (‘Europe/Paris’);
?>
Merci,
Commentaire
-
A priori, un fichier ini ne doit pas comporter ce type de code PHP.
Ils auraient pu te dire quoi mettre !
Si j'en crois un site trouvé sur la question, il devrait suffire de mettre dans ce fichier
date.timezone = "Europe/Paris""Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH
Commentaire
-
Pour conclure, avec le fichier .user.ini je force la passage sur le faisceau Paris côté PHP, Joomla est également sur Paris et les utilisateurs par default et tout fonctionne bien (enfin)
Merci à tous, vous avez été sincèrement précieux
Commentaire
Annonce
Réduire
Aucune annonce pour le moment.
Commentaire