agarmur Posted March 22, 2023 Share Posted March 22, 2023 Bonjour, Je suis en train de créer un module pour voir comment ça fonctionne. Le but de récupérer des données d'une bdd de l'afficher, de pouvoir en supprimer. Voici le code de mon FormList pour afficher les données de ma bdd : $this->fields_list = array( 'id_modulefacebookpdv' => array( 'width' => 'auto', 'title' => $this->l('id'), 'search' => false, ), 'url_modulefacebookpdv' => array( 'width' => 'auto', 'title' => $this->l('url'), 'search' => false, ), ); $helper = new HelperList(); $helper->title = "Urls"; $helper->module = $this; $helper->row_hover = true; $helper->actions = array('delete', 'edit'); $helper->identifier = 'id_modulefacebookpdv'; $helper->show_toolbar = true; $helper->table = $this->name; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; $content = $this->getUrlsList(); return $helper->generateList($content, $this->fields_list); À l'affichage, je n'ai aucun problème sauf que les boutons Delete et Edit ne fonctionne pas, je n'arrive pas à comprendre pourquoi. Si quelqu'un serait m'aider ! Merci ! Link to comment Share on other sites More sharing options...
Eutanasio Posted April 30, 2023 Share Posted April 30, 2023 Il semble que vous ayez correctement configuré les boutons d'action "delete" et "edit" dans votre code, mais il est possible que vous n'ayez pas implémenté les fonctions correspondantes pour ces actions. Voici ce que vous devez faire pour que les boutons fonctionnent correctement : 1. Assurez-vous que vous avez défini la méthode processDelete() et processEdit() dans votre classe de module. Ces méthodes doivent être responsables de la suppression et de la modification des données de la base de données. Par exemple : public function processDelete() { $id_modulefacebookpdv = (int)Tools::getValue('id_modulefacebookpdv'); if ($this->deleteUrl($id_modulefacebookpdv)) { Tools::redirectAdmin(AdminController::$currentIndex.'&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules').'&conf=1'); } else { $this->errors[] = $this->l('Error occurred while trying to delete the URL.'); } } public function processEdit() { // Votre logique de modification ici } 2. Dans la méthode deleteUrl(), vous devez supprimer l'entrée de la base de données en fonction de l'ID fourni. Par exemple : public function deleteUrl($id_modulefacebookpdv) { return Db::getInstance()->delete('nom_de_votre_table', 'id_modulefacebookpdv = '.(int)$id_modulefacebookpdv); } 3. Assurez-vous que les actions sont bien définies dans votre HelperList. Vous avez déjà défini les actions delete et edit dans votre code, donc ça devrait être bon de ce côté-là : $helper->actions = array('delete', 'edit'); 4. Enfin, assurez-vous que votre classe de module hérite bien de la classe ModuleAdminController et que vous avez défini la méthode postProcess(). Cette méthode doit appeler les fonctions processDelete() et processEdit() en fonction de l'action soumise. Par exemple : public function postProcess() { if (Tools::isSubmit('delete'.$this->name)) { $this->processDelete(); } elseif (Tools::isSubmit('edit'.$this->name)) { $this->processEdit(); } return parent::postProcess(); } En suivant ces étapes, vous devriez être en mesure de faire fonctionner les boutons "Delete" et "Edit". 1 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