Paramètres optionnels widgets Core

Bonjour,

J’ose poser une question de Béotien en développment….

A l’occasion de la fixation du paramère optionnel color du widget Badge je me suis posé la question de fixer ce parametre en fonction du résultat d’un test comme ceci (ça ne marche pas même sans la parentèse en trop):

je précise que j’ai lu les sujets existants en particulier le tuto de @noodom avec un scénario.

[TUTO noodom] Modification dynamique de paramètres de commande associée à un widgetamique de paramètres de commande associée à un widget

Je sais aussi qu’il existe des dizaines e methodes pour arriver à ce genre de résultat…

Mon souci est pourquoi ça ne amrcherait pas Ca se passe quelque par là?

cmd.info.string.badge.html

   if (domUtils.issetWidgetOptParam('#color#', 'color')) {
        document.querySelector('.cmd[data-cmd_uid="#uid#"] .label').style.setProperty('background-color', '#color#', 'important')
      }
      if (domUtils.issetWidgetOptParam('#fontcolor#', 'fontcolor')) {
        document.querySelector('.cmd[data-cmd_uid="#uid#"] .label').style.setProperty('color', '#fontcolor#', 'important')
      }
    </script>
  </div>

Salut,

Indépendamment de ma méthode, dans ton test, tu mets :

  • <= 18 ou >=12 : ce sera toujours vrai. Mettre && si tu veux tester entre 12 et 18
  • rgb: il faut séparer par des virgules et pas des espaces

Tu peux essayer :

#hour# >= 12 && #hour# <= 18 ? rgb(0, 255, 0) : rgb(0, 0, 255)

Et sinon, ta méthode ne fonctionnera pas d’où la création de mon post :

la valeur sera mise à jour à l’affichage du widget et plus recalculée ensuite sur changement de valeur du paramètre optionnel (sur changement d’heure ).

donc :

  • passer par un scénario avec comme déclencheur l heure
  • essayer d’utiliser ma méthode

Merci d’avoir pris le temps de me répondre!

Les ET les OU et les heures… J’ai fait pas d’essais en changeant tout pour voir si je résultat changeait. J’ai fini par me mélanger les pinceaux , ez principe je maîtrise. En 1970 en FORTRAN c’était déjà les mêmes tests!

En effet pour rgb() JS ou PHP, la syntaxe officielle c’est bien avec des virgules mais on trouve des docs et exemples avec des espaces, voire un / avant la transparence, et ça marche.

#hour# j’avais aussi essayé en me disant qu’auniveau de la construction de la page HTML il est peu probable que le système ait connaissance de ce tag.

J’avais essayé également un gethours() sur new date() (JS?).C’était encore pire.

Ca clôt le débat! Quand j’ai vu:

domUtils.issetWidgetOptParam(‹ #color# ›, ‹ color ›)

J’ai bien trouvé domUtils.js mais issetWidgetOptParam(‹ #color# ›, ‹ color ›) m’a achevé.

Bonne soirée

Pas forcément utile de chercher à ce niveau de détail sauf si tu crées tes propres widgets, mais en résumé :

#color# va être évalué avec la valeur que tu auras renseigné dans la liste des paramètres optionnels du widget et isset le compare avec le nom du paramètre au format #nomParam# donc si renseigné on aura “rgb(0,255,255)” comparé à “#color#” => isset = true. Si non renseigné , comparaison de “#color#” avec “#color#” => isset false

Désolé pour la présentation mais la rédaction de réponses sur le forum depuis un iPhone est devenu juste impossible depuis les dernières évolutions (ou alors iOS 27 beta ?) :exploding_head: J’ai l’impression que les tests ont été fait depuis Android :grin: (par contre si on peut éviter les (mauvaises) blagues et débats stériles IOS / Android.. :wink:

Bah c’était surtout pour mon besoin de “savoir”… Donc si on met une espèce de formule dans le champ du paramètre optionnel comparé à “color” sera probablement toujours false car pas au format….

Après 8 passages des yeux sur le billard (glaucome,SàV, cataracte…) j’ai abandonné l’usage du smartphone sur INTERNET, même Android. En tant que vieux “téléphoniste” (PTT, France TElecom, Orange) un smartphone pour moi est d’abord un téléphone

PS: Tu m’as fait découvrir isset….

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.