romaboula Posted January 19, 2014 Share Posted January 19, 2014 Bonjour, J'apprivoise la création de module doucement, je bloque sur la compréhension du code de prestashop au niveau de la fonction uninstall(). Le module et la function uninstall fonctionnent mais je ne comprends pas comment ! Le code qui fonctionne : public function install(){ if(!parent::install() OR !$this->registerHook('leftColumn') OR !Db::getInstance()->Execute(' CREATE TABLE '._DB_PREFIX_.'mymodule ( id_mymodule int(2) NOT NULL, id_lang int(2) NOT NULL, text varchar(64) NOT NULL, PRIMARY KEY(id_mymodule)) ENGINE='._MYSQL_ENGINE_.' default CHARSET=utf8') ){ return false; }else{ return true; } } public function uninstall(){ if (!parent::uninstall() // supression de la ligne 'mymodule' de la table 'ps_module' OR !Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.'mymodule') // suppression de la table 'ps_mymodule', créée à l'installation OR !Db::getInstance()->Execute('DROP TABLE '._DB_PREFIX_.'mymodule') ){ return false; }else{ return true; } } Je comprends la suppression DROP TABLE mais pas le DELETE. Comment le DELETE accède à la TABLE ps_module pour supprimer la ligne mymodule ? Dans mon idée, le code suivant est plus clair. Il execute correctement le DELETE mais pas le DROP... ça bloque et indique une erreur dans le backoffice, pourquoi ? OR !Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.'module WHERE name = mymodule') Merci pour vos explications Link to comment Share on other sites More sharing options...
romaboula Posted January 20, 2014 Author Share Posted January 20, 2014 Finalement j'ai compris ! La function uninstall() seule supprime la ligne créée dans la table ps_module. Que je croyais supprimée par le DELETE. Seule ligne DROP est nécessaire pour supprimer toute trace de ce mondule dans la bdd. ....si ça peut aider quelqu'un ! 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