Module widget_meteo
Bonjour vous tous,
Jusqu'ici j'insérais celui-ci via une iframe. Voir ici.*
J'ai donc (presque) réussi à le transformer en module dédié à ZwiiCMS.
La version qui tourne sans problème, dans cette configuration, est ici.
Le mode config admin de ce même module dans cette configuration, ici, pose encore un Schmilblick ☺
Dans un premier temps, j'ai pensé que cela était dû au module inséré dans un tableau, J'ai donc configuré avec la même structure cet autre page comprenant le module annonces, aucun soucis.
Si quelqu'un a une idée pour pousser ce nouveau module à son terme...
Bonne journée... Michel
*Le problème de météo à H+1 au lieu de H, a été résolu :-)
Commentaires
-
C'est résolu :-) Merci à Mistral pour le coup de main !
Ce qui se passait :
En mode admin, la page de configuration du widget (widget/config) est insérée directement dans la cellule d'un tableau de la page visiteur, au lieu de s'afficher seule.
Le formulaire de configuration est bien présent, mais il est entouré du contenu de la page visiteur (tableau, texte, etc.), ce qui n'est pas le comportement attendu.
Cause :
ZwiiCMS ne parvient pas à isoler la vue de configuration du module lorsque celui-ci est inséré dans un tableau ou un container.
La directive showPageContent est mal interprétée ou ignorée dans ce contexte.
Solution :
Dans la méthode config() de la classe widget_meteo, modification de l'appel à addOutput() pour désactiver explicitement l'affichage du contenu parent et forcer un rendu autonome :
$this->addOutput([ 'title' => 'Configuration Widget Météo', 'view' => 'config', 'showBarEditButton' => true, 'showPageContent' => false, // Désactive l'affichage du contenu parent 'template' => 'empty', // Utilise un template vide si possible ]);
Voici la version 1.1 (toujours en test) :
0 -
Salut
Je teste ce très beau Widget mais tu ne donnes pas d'informations sur ce fichier
/../../site/data/weather_openmeteo/weather.json'
Du coup cela ne fonctionne pas.
Je m'interroge sur ceci :
$this->addOutput([ 'title' => 'Configuration Widget Météo', 'view' => 'config', 'showBarEditButton' => true, 'showPageContent' => false, // Désactive l'affichage du contenu parent 'template' => 'empty', // Utilise un template vide si possible ]);
Cette ligne n'est pas nécessaire puisque la valeur vaut false par défaut (core.php 136)
showPageContent' => false, // Désactive l'affichage du contenu parent
Au premier abord, je suis partagé sur cette ligne, la clé template ne fait pas partie des éléments traités par le routeur.
'template' => 'empty', // Utilise un template vide si possible
Après la configuration du widget est vide, donc je ne peux pas en dire plus.
Fred
The f....g boss0 -
Bonjour @fred,
J'ai préparé un readme où j'indique ce qu'il faut faire... mais c'est mieux si je ne le garde pas pour moi seulement ;-)
J'y indique notamment :
🛠️ Configuration Paramètres disponibles URL de redirection Lien vers une page météo détaillée (laisser vide pour désactiver). | https://mon-site.com/meteo | Fichier de données Le module lit les données météo depuis : site/data/weather_openmeteo/weather.json Ce fichier doit être généré par le module forecast_openmeteo (à installer séparément).
- Je viens de penser qu'il ne serait pas bête d'inscrire cela dans le formulaire de configuration, on ne lit pas toujours les readme !
Ce module tourne actuellement dans un container ici, et ici dans un tableau à deux colonnes, à la place d'une iframe.
Avec le readme inclus =>
J'étais bien content ☺ que cela fonctionne et n'ai donc pas testé sans cette ligne, (ne suis pas allé voir plus loin) :
showPageContent' => false, // Désactive l'affichage du contenu parent
Bonne soirée à tous... Michel (c'est aussi chez Codeberg ici )
0 -
Bonsoir @lemimi,
Tout fonctionne parfaitement ! C'est deux modules sont vraiment splendides et bravo pour le codage.
Je peux te confirmer que ceci est suffisant :
// Utiliser le système de vues ZwiiCMS $this->addOutput([ 'title' => 'Configuration Widget Météo', 'view' => 'config' ]);En enfin, un petit truc, en sortie de formulaire, c'est la propriété "state" qui définit la couleur de la bannière de confirmation :
// Redirection avec le système ZwiiCMS $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'notification' => 'Configuration enregistrée', 'state' => true, ]); True : vert False : rouge Autre valeur : orangeLe return à l'issue du addOutput n'est pas utile.
Good job Michel !!!
The f....g boss0 -
Merci @fred :-)
Suite à un de tes commentaires, j'essaye d'adapter ce module qui fait actuellement appel aux données stockées dans un fichier json et qui a besoin du module forecast_openmeteo pour fonctionner, avec une version complètement autonome avec un appel direct à l'API OpenMeteo.
Ceci pour les personnes qui n'auraient pas l'utilité d'installer le module de météo complète forecast_openmeteo.
Un dessin est parfois plus explicite :
Bonne journée à tous... Michel
0 -
Bonjour vous tous,
La version 1.5 est en ligne sur le Store.
- Version 1.5 - Amélioration de la détection jour/nuit par lever/coucher du soleil (au lieu de > 6h00 et < 20h00). - Changement émoji lune.
0
Salutations, Étranger !
Catégories
- 546 Toutes les Catégories
- 58 Support ZwiiCampus
- 16 Annonces ZwiiCampus
- 17 ZwiiCampus au quotidien
- 36 Déclarer un bug dans ZwiiCampus
- 494 Support ZwiiCMS
- 97 Annonces ZwiiCMS
- 57 Installer et utiliser ZwiiCMS
- 63 Déclarer un bug dans ZwiiCMS
- 59 Modules : utilisation, mise à jour
- 11 Projets de modules
- 6 Zwii en langues étrangères
- 10 Traductions de ZwiiCMS
- 6 Traductions des modules
- 134 Communauté
- 6 Fonctionnement du forum
- 56 Boîte à idées, les évolutions du CMS
- 15 Vos sites
- 63 Discussions libres
- 55 Ateliers de développement
- 15 Vos projets
- 30 Trucs et astuces

