Bonjour,
Développeur PHP chevronné, je suis un "newbie" en prestashop...
J'ai commencé à développer un module basique pour appréhender la logique de ce CMS E-commerce, basé sur cette architecture :
1. Module créant une table à l'installation (nommé "ps_mod_clock")
2. Module affichant l'heure sur le front-office
3. Module sauvegardant en base l'heure affichée sur un clic
4. Module supprimant la table à la désinstallation
Pour l'instant, je n'arrive pas à afficher sur le front-office ma template, quelques idées, je tourne le problème en boucle depuis hier soir et ça commence à me prendre le chou grave...
Le code du controleur du module :
Le code de la vue smarty :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 class Clock extends Module { public function __construct() { $this->name = 'clock'; $this->tab = 'leftColumn'; $this->version = '0.1'; $this->author = 'Mathieu33460'; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Clock by Mathieu'); $this->description = $this->l('Display a time in the left column of your front office.'); $this->confirmUninstall = $this->l('Are you sure you want to delete clock ?'); } public function install() { if (parent::install() OR $this->registerHook('leftColumn')) { $sql = "CREATE TABLE `prestashop`.`ps_mod_clock` ( `clock_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `clock_datetime` DATETIME NOT NULL , `real_datetime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP , `customer_id` INT( 10 ) NULL ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;"; DB::getInstance()->Execute($sql); return true; } return false; } public function getContent() { } public function uninstall() { if (parent::uninstall()) { $sql = "DROP TABLE `ps_mod_clock"; DB::getInstance()->Execute($sql); return true; } return false; } public function hookLeftColumn($params) { return '<div><h4>Test</h4></div>'; #return $this->display(__FILE__, 'clock.tpl'); } }
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <style type="text/css">@import url({$base_dir}modules/clock/css/clock_styles.css);</style> <!-- Block clock --> <div id="clock_block_left" class="block block_clock"> <h4>{l s='Clock' mod='clock'}</h4> <div class="block_clock_content"> <div class="block_clock_clock"> </div> <div class="block_save_link"> <a href="modules/clock/classes/clock.function.php" title="{l s='Save time' mod='clock'}"> {l s='Save time' mod='clock'}</a> </div> </div> </div> <!-- /Block clock -->
Mathieu
Partager