[Magento] Dans système / configuration, impossible de gérer un paramètre avec une checkbox

Le backoffice de Magento est plutôt pas mal foutu (profitez, je dis du bien, ça ne durera p'tet pas), on peut y gérer assez facilement pas mal de paramètres que l'on a stocké dans les fichiers config.xml de chacun de nos modules. Ça se passe dans Système / Configuration.

Je voulais gérer un booléen depuis le backoffice. Et pour moi, logiquement, qui dit booléen dit case à cocher. J'ai compris ensuite que Magento et logique, ça n'allait pas forcément ensemble.

12221514734_e7bce5233f_z.jpg

Je définis donc dans system.xml de mon module un nouveau champ de type checkbox (la liste des types disponibles est ici).
Je veux que cette case à cocher soit cochée par défaut. C'est là que ça se complique : où est-ce qu'on fait ça ?

Dans le config.xml, je lui donne une valeur (j'ai testé "yes", "true", "1", "checked") ... Mais en fait, ça correspond à l'attribut value de la checkbox. Et pas à l'attribut checked. Donc ça n'est pas là.
Bizarre.

Allez, après tout, pas grave si la case n'est pas cochée par défaut. Je teste de la cocher et de sauvegarder le tout : ça ne fonctionne pas. Magento n'enregistre pas le fait que la case est cochée.

Après 2/3 recherches, je tombe sur ça : Magento module system.xml checkbox won't save.

Donc en gros, Magento te permet de créer une case à cocher dans le backoffice, mais tu ne peux pas t'en servir. Et pour gérer un booléen, on te demande d'utilise une liste déroulante. Logique.

Crédit photo : Oliver Tacke (Creative Commons By)

Vus : 378
Publié par Nicolas Lœuillet : 125