Outils pour utilisateurs

Outils du site


webdev:prestashop:module

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
webdev:prestashop:module [14/08/2017 17:07] dolowebdev:prestashop:module [29/08/2017 14:29] (Version actuelle) – [Créer un module Prestashop] dolo
Ligne 1: Ligne 1:
 +====== 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()**
 +<Code>
 + // 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;
 + }
 +</Code>
 +
 +**public function uninstall()**
 +<Code>
 + // On supprime la table
 + $presta_pop_sql = 'DROP TABLE ' . _DB_PREFIX_ . 'presta_pop';
 + if(!Db::getInstance()->execute($presta_pop_sql))
 + {
 + return false;
 + }
 +</Code>
 +
 +==== Trucs à faire ====
 +Au début du module, pour éviter l'accès direct au fichier de base :
 +<code linenums>
 +if (!defined('_PS_VERSION_')) {
 + exit;
 +}
 +</code>
 +
 +**Appeler une classe d'un module depuis un controller en dehors du module**
 +Il faut include la classe en question comme ceci :
 +<code>
 +Module::getInstanceByName('koregrafoptions'); // Just need to include it's class
 +</code>