Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

retrocompatibilité de l’élément switch dans les formulaires sous prestashop

Depuis la version 1.6 de Prestashop il existe un nouvel élément de formulaire appelé switch, malheureusement cet élément n’existe pas sous prestashop 1.5.

C’est un élément plutôt pratique et assez joli car ça donne ça:

Mais si vous l’utilisez dans l’un de vos modules, l’élément ne s’affichera pas sur prestashop 1.5, rendant votre formulaire inutilisable.
Voici comment je fais pour ne pas avoir à créer deux formulaires différents pour gérer cette incompatibilité dans mes modules.


'type' => (version_compare(_PS_VERSION_, '1.6')<0) ?'radio' :'switch',
'class' => (version_compare(_PS_VERSION_, '1.6')<0)?'retrocompatibility_switch':'',

C’est assez simple, je regarde la version de prestashop utilisée et si elle est inférieure à 1.6 j’utilise le type “radio” au lieu de “switch”.
Je rajoute également la class “retrocompatibility_switch” au label pour corriger un défaut d’affichage.

Il suffit ensuite d’ajouter quelque part (dans un fichier css ou dans votre tpl) le code css suivant:


<style type="text/css">
	.retrocompatibility_switch {
		float:none;
		width:auto;
	}
</style>

Poster un Commentaire

1 Commentaire sur "retrocompatibilité de l’élément switch dans les formulaires sous prestashop"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Stud'Info
Invité

Bonjour et merci pour cette petite astuce !
Prestashop est un excellent outil, et ces astuces simplifients la vie.
Cordialement.

wpDiscuz