Jump to content

Ajouter des blocs dans page de configuration module


Recommended Posts

Bonjour,

 

Je suis en train de concevoir un module pour prestashop. 

 

Dans ma page configurer du module j'ai bien mon premier bloc par défaut "settings". 

 

J'aimerai en créer un autre, j'imagine qu'il faut faire un autre fields_form ? 

 

Merci de votre aide !

 public function displayForm()
    {
        /*Langage par défaut (int pour sécurité)*/
        $default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
         
        /*Variable qui contient un tableau*/
        $fields_form[0]['form'] = array(
            /*Ce tableau va gérer l'HTML de la page de configuration*/
            'legend' => array(
                'title' => $this->l('Configuration de votre module'), //Titre en entête
            ),
            'input' => array( //1er input (CLE API UTILISATEUR)
                array(
                    'id' => 'cle_api', //id de la balise input
                    'type' => 'text', //Du type texte
                    'label' => $this->l('Clé API'), //nom de l'input
                    'name' => 'MYMODULE_NAME', //Signature de l'input
                    'size' => 20, //Nombre de caractères
                    'required' => true //Champs obligatoire
                ),
                array( //Nom de l'utilisateur lors de l'envoi de messages
                    'type' => 'text',
                    'label' => $this->l('Nom d\'Utilisateur'),
                    'name' => 'UTILISATEUR',
                )    
            ),

            'submit' => array( //Bouton Sauvegarder
                'title' => $this->l('Save'),
                'class' => 'button'
            )
        );

        /*On crait une instance de la classe HelperForm*/ 
        $helper = new HelperForm();
         
        /*Permet de générer l'HTML*/

        /*Module*/
        $helper->module = $this; //Instance du module qui utilise le formulaire
        $helper->name_controller = $this->name; //Nom du module
        $helper->token = Tools::getAdminTokenLite('AdminModules'); //Génération d'un token
        $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; 
         
        /*Langue*/
        $helper->default_form_language = $default_lang; // Langue par défaut de la boutique
        $helper->allow_employee_form_lang = $default_lang; //Langue par défaut de la boutique
         
        /*Titre et bar d'outil*/ 
        $helper->title = $this->displayName; //Titre du formulaire
        $helper->show_toolbar = true;        // false -> enlève la bar d'outil
        $helper->toolbar_scroll = true;      // yes - > bar d'outil toujours visible lors du scroll
        $helper->submit_action = 'submit'.$this->name; // action lors du submit
        $helper->toolbar_btn = array( 
            'save' => array( //Tableau d'action lors de la sauvegarde et du retour
                'desc' => $this->l('Save'),
                'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
                '&token='.Tools::getAdminTokenLite('AdminModules'),
            ),
            'back' => array(
                'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
                'desc' => $this->l('Back to list')
            )
        );
         
        /*Definit la valeur du nom*/
        $helper->fields_value['MYMODULE_NAME'] = Configuration::get('MYMODULE_NAME');
        $helper->fields_value['UTILISATEUR'] = Configuration::get('UTILISATEUR');
    }
Edited by julesruru (see edit history)
Link to comment
Share on other sites

Bon je me suis débrouiller c'était bien çà :

 public function displayForm()
    {
        /*Langage par défaut (int pour sécurité)*/
        $default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
         
        /*Variable qui contient un tableau*/
        $fields_form[0]['form'] = array(
            /*Ce tableau va gérer l'HTML de la page de configuration*/
            'legend' => array(
                'title' => $this->l('Configuration de votre module'), //Titre en entête
            ),
            'input' => array( //1er input (CLE API UTILISATEUR)
                array(
                    'id' => 'cle_api', //id de la balise input
                    'type' => 'text', //Du type texte
                    'label' => $this->l('Clé API'), //nom de l'input
                    'name' => 'MYMODULE_NAME', //Signature de l'input
                    'size' => 20, //Nombre de caractères
                    'required' => true //Champs obligatoire
                ),
                array( //Nom de l'utilisateur lors de l'envoi de messages
                    'type' => 'text',
                    'label' => $this->l('Nom d\'Utilisateur'),
                    'name' => 'UTILISATEUR',
                )    
            ),

            'submit' => array( //Bouton Sauvegarder
                'title' => $this->l('Save'),
                'class' => 'button'
            )
        );

        /*Variable qui contient un tableau*/
        $fields_form[1]['form'] = array(
            /*Ce tableau va gérer l'HTML de la page de configuration*/
            'legend' => array(
                'title' => $this->l('Envoie'), //Titre en entête
            ),
            'input' => array( //1er input (CLE API UTILISATEUR)
                array(
                    'id' => 'envoie', //id de la balise input
                    'type' => 'text', //Du type texte
                    'label' => $this->l('Envoyer'), //nom de l'input
                    'name' => 'SEND', //Signature de l'input
                    'size' => 20, //Nombre de caractères
                    'required' => true //Champs obligatoire
                )  
            ),

            'submit' => array( //Bouton Sauvegarder
                'title' => $this->l('Save'),
                'class' => 'button'
            )
        );
     
        /*Definit la valeur du nom*/
        $helper->fields_value['SEND'] = Configuration::get('SEND');


        /*On crait une instance de la classe HelperForm*/ 
        $helper = new HelperForm();
         
        /*Permet de générer l'HTML*/

        /*Module*/
        $helper->module = $this; //Instance du module qui utilise le formulaire
        $helper->name_controller = $this->name; //Nom du module
        $helper->token = Tools::getAdminTokenLite('AdminModules'); //Génération d'un token
        $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; 
         
        /*Langue*/
        $helper->default_form_language = $default_lang; // Langue par défaut de la boutique
        $helper->allow_employee_form_lang = $default_lang; //Langue par défaut de la boutique
         
        /*Titre et bar d'outil*/ 
        $helper->title = $this->displayName; //Titre du formulaire
        $helper->show_toolbar = true;        // false -> enlève la bar d'outil
        $helper->toolbar_scroll = true;      // yes - > bar d'outil toujours visible lors du scroll
        $helper->submit_action = 'submit'.$this->name; // action lors du submit
        $helper->toolbar_btn = array( 
            'save' => array( //Tableau d'action lors de la sauvegarde et du retour
                'desc' => $this->l('Save'),
                'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
                '&token='.Tools::getAdminTokenLite('AdminModules'),
            ),
            'back' => array(
                'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
                'desc' => $this->l('Back to list')
            )
        );
         
        /*Definit la valeur du nom*/
        $helper->fields_value['MYMODULE_NAME'] = Configuration::get('MYMODULE_NAME');
        $helper->fields_value['UTILISATEUR'] = Configuration::get('UTILISATEUR');

        /*Génère le formulaire*/
        return $helper->generateForm($fields_form);
    }
Edited by julesruru (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...