Aide creation commande dans un plugins

Bonjour à tous.
Je suis en train de finir la mise au point d’un plugins. Je cherche un peu d’aide!!
Lors de la creation d’une commande action, je souhaiterais automatiquement renseigner le champs « La valeur de commande vaut par defaut la commande »


Pour cela lors de la creation de la commande j’utilise le code suivant et la methode setValue:

		$commande = new PoeleAguaCmd();
		$commande->setEqLogic_id($eqlogic->getId());
		$commande->setEqType('PoeleAgua');
		$commande->setType('action');
		$commande->setSubType('other');
		$commande->setIsVisible(1);
		$commande->setIsHistorized(0);
		$commande->setLogicalId('start');
		$commande->setName('Allumer');
		**$commande->setvalue('status');**
		$commande->setConfiguration('ID',$result['Id']);
		$commande->setDisplay('generic_type','DONT');
		$commande->save();

Dans le setValue, ‹ status › correspond au logicalId de la commande info associée. Cela ne semble pas fonctionner.
Est-ce la bonne methode ou me suis-je completement égaré?

Merci d’avance

Bonjour,

C’est bien setValue mais c’est pas le logicalId mais l’id de la commande info.

2 autres remarques:

  • il ne faut pas/plus faire un $commande->setDisplay('generic_type','DONT'); mais $commande->setGeneric_type('xxx');
  • il ne faut plus non plus mettre de valeur, et donc pas la valeur DONT, si tu ne veux pas de generic_type défini mais juste ne rien faire dans ce cas (y mettre null pour supprimer)

Merci pour les infos @Mips. Je corrige de suite les setGeneric_type. D’ailleur je n’arrive pas a trouver la liste exacte des types disponnibles dans la doc.

Par contre pour le set Value, je bute encore sur un soucis. en passant l’Id, lorsque ma commande est creer, le champ reste vide dans la visualisation mais si je click sur la roue dentée dans la partie « Mise à jour par », je vois bien ma commande. Cependant dés que je fais un enregistré sur mon equipement, les deux repasse à vide.
J’ai certainement un truc pas clair dans mon code.

Je viens de constater que j’ai aussi un message qui sort dans les logs http.error à chaque fois que fais un enregistrer sur mon equipement.

PHP Warning:  count(): Parameter must be an array or an object that implements Countable in /var/www/html/core/ajax/eqLogic.ajax.php on line 455

Je ne sais pas encore si cela à un rapport!

Je ne sais pas dire comme ça.
Si j’ai le code complet je peux jeter un œil mais sinon c’est compliqué

Encore Merci pour ton aide.
Enfaite j’avais une erreur dans le PostUpdate qui ecrasé cette configuration.
Tout est rentré dans l’ordre.
Merci.

Il faudrait cocher mon post donnant la solution plutôt que votre post parlant d’un autre problème selon moi.
Si quelq’un se pose la même question que le post initial, la solution ne sera pas de chercher un problème dans le postUpdate :wink:

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