====== 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