GetRealTrigger code 4.5

tu as remplacé par quoi le getrealtrigger ?

Merci pour l’info, j’ai quelques scénarios a revoir :slight_smile:

je n’ai pas précisé, c’était dans le message joint:
voilà mon code:

$tags = $scenario->getTags();
$trigger = $tags["#declencheur#"];

avant c’était:

#$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
2 « J'aime »

J’ai ajouté un bloc avant pour récupérer #trigger_name# dans le tag declencheur.

1 « J'aime »

merci. on est d’accord qu’il n’y a pas de # du coup

Il faut bien laisser les # dans le code

$trigger = $tags["#declencheur#"];

non, mais avant :
getRealTrigger() ==> #[Jardin][Portail][Etat]#
Maintenant, avec le tag, j’ai [Jardin][Portail][Etat]

(enfin, si j’ai bien compris)

Tu as raison, du coup j’ai mis ce code :

// --- Avant ---
//$trigger = $scenario->getRealTrigger();
//$triggerName = cmd::cmdToHumanReadable($trigger);

// --- Après ---
$tags = $scenario->getTags();
$triggerName = "#".$tags['#trigger_name#']."#";

Il faut rajouter les #, je me disais qu’après ça ne retrouvais plus la commande. Je n’ai pas besoin de mettre un bloc tag avec une variable declencheur.
Je récupère directement la valeur du tag #trigger_name#.

Merci

3 « J'aime »

Merci x 2 : pour le partage et pour le fil dédié.
J’irai sur la même stratégie que toi (même si je ne trouve pas ça très clean, sans critique de ton boulot car j’ai eu la même idée).
ce qui m’embête, c’est de ne pas comprendre la raison qui a poussé l’équipe dév à retirer les #. c’est moins pratique. tu n’en fais plus rien du coup de ton trigger (nativement parlant).

bref, ca évolue, ça bouge, c’est l’essentiel. nous, on doit suivre :slight_smile:

bonne soirée

Moi aussi j’ai pas trop compris ce changement.
C’est certainement pour cloisonner le type de valeur par ex :
si l’on veut récupérer que le trigger vient d’un scenario, il faut mettre $tags['#trigger#']; et pour l’id du trigger $tags['#trigger_id#'];

bonne soirée

Pour éviter de crée le tag « déclencher » on peut faire ainsi :

// Avant V4.5 :
// $trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
// Remplacé pour la V4.5 par la ligne suivante :
$trigger = "#".$scenario->getTag('trigger_name')."#";

$scenario->setLog('Trigger : ' . $trigger);
2 « J'aime »