====== Créer un module Prestashop ====== [[http://doc.prestashop.com/display/PS16/Creating+a+PrestaShop+Module|Doc 1.6]] * Dossier dans module, fichier de base.php, logo.png [[http://build.prestashop.com/howtos/module/how-to-override-modules/|How to override a module]] ==== Ajout de BDD ==== **public function install()** // Création des tables $presta_pop_sql = 'CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'presta_pop` ( `id_presta_pop` int(10) unsigned NOT NULL AUTO_INCREMENT, `display` BOOLEAN NOT NULL, `display_on` VARCHAR(50) NOT NULL, `message` VARCHAR(3000) NULL, PRIMARY KEY (`id_presta_pop`) ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;'; if(!Db::getInstance()->execute($presta_pop_sql)) { return false; } **public function uninstall()** // On supprime la table $presta_pop_sql = 'DROP TABLE ' . _DB_PREFIX_ . 'presta_pop'; if(!Db::getInstance()->execute($presta_pop_sql)) { return false; } ==== Trucs à faire ==== Au début du module, pour éviter l'accès direct au fichier de base : if (!defined('_PS_VERSION_')) { exit; } **Appeler une classe d'un module depuis un controller en dehors du module** Il faut include la classe en question comme ceci : Module::getInstanceByName('koregrafoptions'); // Just need to include it's class