Jump to content

[résolu][DEBUTANT] Aide création module prestashop


Recommended Posts

Bonjour à tous et à toutes.


 


Cela fais maintenant quelques jours que j'ai décider de me lancer dans la programmation d'un module sur prestashop (afin d'approfondir mes connaissances).


 


Pour comprendre comment fonctionnaient les modules du prestashop j'ai fouiné sur internet et regardé les divers modules déjà fournis avec prestashop.


 


J'ai donc, suivis les explications de la doc ( http://doc.prestashop.com/pages/viewpage.action?pageId=3801216 ) mais voilà arrive le moment où je veux afficher la petite boite sur la colonne de gauche et .... rien. Rien ne s'affiche (alors que j'ai pris le même code que sur le site).


 


Lorsque jai vu que l'interface de la doc était différente que celle que j'avais (et ayant remarqué que la doc datait de 2013) j'ai cherché si ce que j'éssayais de faire était devenu incompatible avec prestashop 1.6 et je dois admettre que je n'ai pas trouvé.


 


J'ai tester de mettre les fichiers .tpl dans un dossier view/template (comme pour les modules de bases de prestashop) mais ça n'a rien changé.


 


J'ai donc un fichier my_module.php : (désolé pour l'indentation elle est partie dans le copié/coller et je n'ai pas les fichiers sous la main du coup j'ai tenté de la refaire à la main)



<?php

if (!defined('_PS_VERSION_'))
exit;

Class my_module extends Module
{
public function __construct()
{
$this->name = 'my_module';
$this->tab = 'slideshows';
$this->version = '1.0';
$this->author = 'Moi';
$this->need_instance = 0;

parent::__construct();

$this->displayName = $this->l('my_module');
$this->description = $this->l('Customisable my_module to insert in your website pages.');
$this->confirmUninstall = $this->l('Are you sure you want to uninstall the my_module module ?');
}

public function install()
{
if (parent::install() == false OR !$this->registerHook('leftColumn'))
return false;
return true;
}

public function hookLeftColumn($params)
{
global $smarty;
return $this->display(__FILE__, 'my_module.tpl');
}

public function hookRightColumn($params)
{
return $this->hookLeftColumn($params);
}
}

?> 

et un fichier my_module.tpl :



<!-- Block mymodule -->
<div id="my_module_block_left" class="block">
<h4>Welcome!</h4>
<div class="block_content">
<ul>
<li><a href="{$base_dir}modules/my_module/my_module_page.php" title="Click this link">Click me!</a></li>
</ul>
</div>
</div>
<!-- /Block mymodule --> 

ils sont tous les deux dans \modules\my_module


 


Voila le problème c'est que sur ma page de prestashop (je travail en local) il n'y a absolument rien.


 


Je dois vous admettre que je comprends absolument pas.


 


Merci de m'avoir lu jusque là, désolé si il y a déjà un sujet qui a traité ce problème (je n'ai rien trouvé sur le site) et désolé pour la question qui dois être, je suppose très stupide ^^".


 


Cordialement,


Edited by firefoxmen (see edit history)
Link to comment
Share on other sites

Bonsoir :)

 

Alors un lien un peu plus récent :

 http://doc.prestashop.com/pages/viewpage.action?pageId=15171738#CréerunmodulePrestaShop-Dossierdumodule

Oubliez les globales  ($smarty et cie) c'est deprecated depuis la 1.5, il faut utiliser le $this->context à la place.

Oubliez les underscores dans vos noms de modules / tpl, et le tout en minuscules.

Pour votre template, soit à la racine du module (façon inférieure à la 1.4, soit dans le répertoire views/templates/hooks, vu que c'est un tpl accroché à un hook.

 

Et un cadeau :)

Edited by Eolia (see edit history)
  • Like 1
Link to comment
Share on other sites

Salut !!!

 

Merci beaucoup pour l'aide que vous m'avez apporté si tard !

 

J'ai un problème sur ce pc j'arrive pas a accéder au back office (ni au localhost avec easyPhP) j'ai une vieille page blanche, je testerais ça demain :)

 

Merci encore !

 

Cordialement,

 

EDIT: Je viens de trouver je peux pas démarrer le serveur parce que le local port 80 est déjà utilisé par "System" je peux pas le kill. C'est bizarre sur windows 7 ça marche très bien et là, nope avec mon Pc sous windows10 il veut pas je pige pas, bon tant pis je vous dirais si ça marche demain !

Edited by firefoxmen (see edit history)
Link to comment
Share on other sites

Re-bonjour !

 

Alors je viens de tester de dezipper le fichier mymodule.zip que vous m'avez envoyé, je l'ai installé sur presta shop

 

post-1085213-0-46108900-1441183766_thumb.jpg

 

mais le problème c'est que sur le site il ne s'affiche pas

 

post-1085213-0-75792500-1441183768_thumb.jpg

 

Je pense donc que le problème viens surtout de moi qui dois faire une mauvaise manip, mais laquelle :/

 

Ce que j'ai fais :

 

1) DDL mymodule.zip

2) Dezippé dans EasyPHP-DevServer-14.1VC9\modules\prestashop\modules\mymodule

3) Lancer EasyPhP

4) Aller sur le backoffice de prestashop

5) Modules>module.

6) My Module > installer.

7) My Shop.

 

(j'avais voulus greffer le module sur la colonne de gauche avant de m'apercevoir que c'étais déjà fais)

 

Cordialement,

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...