J'aurai souhaité rajouter des attributs à la classe de mon plugin, mais je rencontre un soucis, la valeur n'est pas sauvegardée.
J'ai défini mon attribut '_test' de la sorte dans le code de la class de mon plugin.
Code : Tout sélectionner
class monPlugin extends eqLogic {
/* * *************************Attributs****************************** */
protected $_test = 'disable';
Code : Tout sélectionner
public function test() {
return $this->_test;
}
public function setTest($_status){
$this->_test = $_status;
return $this;
}
Code : Tout sélectionner
public function preSave()
{
log::add('monPlugin', 'debug', 'preSave() : '.$this->test());
$this->setTest('enable');
log::add('monPlugin', 'debug', 'preSave() : '.$this->test());
}
Dans une fonction associée à un listener, j'ai ajouté ça:
Code : Tout sélectionner
public static function externalConditionsEvents($_option)
{
$eqLogic= monPlugin::byId($_option['eqLogicId']);
log::add('monPlugin', 'debug', test() : '.print_r($eqLogic, true));
log::add('monPlugin', 'debug', test() : '.$eqLogic->test());
}
En fouillant dans la doc du plugin template, je suis tombé là dessus:
J'ai donc modifié mon attribut en $test, et là j'ai eu droit à une belle erreur:le _ devant le nom de l’attribut indique à Jeedom que l’attribut ne doit pas être sauvegardé en base, donc si vous en ajoutez pour votre class pensez bien à le précéder d’un _
.[MySQL] Error code : 42S22 (1054). Unknown column 'test' in 'field list'
Pourquoi cela ne fonctionne-t-il pas?
![Confused :?](./images/smilies/icon_e_confused.gif)
Merci.