WolwX Posted February 25, 2017 Share Posted February 25, 2017 Bonjour à tous Je me permet de venir à vous pour demander de l'aide aux experts d'entre vous, plus particulièrement à ceux qui maîtrise la création de module prestashop et leur mise en page. Je suis sur la création d'un module, et j'aimerais le publier très bientôt, cependant, au vue du nombres importants de réglages possible, et donc de la lisibilité de la page de réglage, j'aimerais pouvoir masquer des réglages en fonction des réglages parent fait. Voici donc le contenu de ma function générant le formulaire : public function renderFormIcon() { $fields_form[1]['form'] = array( 'legend' => array( 'title' => $this->l('Icon Settings'), 'icon' => 'icon-cogs' ), 'input' => array( array( 'type' => 'switch', 'label' => $this->l('CSS Icon Menu'), 'desc' => $this->l('If enabled the menu Icon will be set by CSS (better option), if disabled it will be an image.'), 'name' => 'ICONCSS', 'is_bool' => true, 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => $this->l('Enabled') ), array( 'id' => 'active_off', 'value' => 0, 'label' => $this->l('Disabled') )), ), array( 'type' => 'file', 'label' => $this->l('Icon\'s image file'), 'name' => 'ICONIMG', 'thumb' => '../modules/'.$this->name.'/img/tmp/'.$ICONFILE, 'desc' => $this->l('Set the icon\'s image file.') ), array( 'type' => 'color', 'label' => $this->l('Icon\'s color'), 'name' => 'ICONCOLOR', 'desc' => $this->l('Set the icon\'s color.') ), 'submit' => array( 'name' => 'submitn1verticalsidemenuicon', 'title' => $this->l('Save'), 'class' => 'button' ) ); Ensuite voici le javascript que j'inclus sur la view admin (monmodule/views/templates/admin/_configure/helpers/form/form.tpl) : $(document).ready(function(){ toggleFields(); $('#ICONCSS_on').on('change', function() { toggleFields(); }); }); function toggleFields() { if ($('#ICONCSS_off').is(':checked')) { $('#color_1').hide(); $('#ICONIMG').show(); } else { $('#color_1').show(); $('#ICONIMG').hide(); } } Dans ce premier scenario, j'ai un début de fonctionnement, mais les champs masqués ne le sont réellement que lors du premier changement, quand je resollicite le switch, ça ne fonctionne plus (peut être un soucis avec l'appel jquery) Dans un second temps j'ai tenté avec une autre function JS, mais là, il ne ce passe rien du tout >< : $('#ICONCSS_on').on('change',function(){ var selection = $(this).val(); switch(selection){ case "1": $("#color_1").show() break; default: $("#color_1").hide() } }); Voilà donc, en espérant que je pourrais avoir quelques pistes pour avancer dans ce but Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now