Aller au contenu

October 15, 2013

1

Leçon 3: Créer un module sous prestashop

Grâce à ce tutoriel, vous allez vraiment pouvoir commencer à customiser et dynamiser votre e-commerce via la création de modules. Je vous décrirai toutes les étapes en détails, vous allez voir, c’est très simple !

EDIT : Je vous met maintenant à disposition un générator de module !

Je considère que vous avez déjà une boutique prestashop installé et que vous connaissez un minimum la structure de cette dernière. Si non, reportez-vous à la leçon 1 et la leçon 2.

1 – Création du module

Ici, nous travaillerons uniquement dans le dossier “module” situé à la racine de votre site.

Sous prestashop, un module est tout d’abord un dossier, c’est pourquoi nous allons commencer par en créer un dans le dossier modules où vous pouvez déjà apercevoir tout les modules déjà présents dans votre boutique. Nous l’appellerons “monmodule”.

dossier prestashopmodules
|– dossier prestashop monmodule

Tout les fichiers nécessaires au fonctionnement de notre module devront être placés dans “monmodule”

Un module est une classe, étendue de la classe “Module”, cela peut paraître effrayant mais pas de panique, vous n’êtes pas obligé de maitriser la programmation orientée objet pour créer un module qui envoi du lourd ;)

Créez un nouveau fichier php dans “monmodule” puis ouvrez le. Pour créer et éditer un fichier php je vous conseil Notepad++ si vous êtes sous Windows ou Coda si vous êtes sous Mac.

Insérez le code ci-dessous :

1
2
3
4
class Monmodule extends Module
{
 
}

Sauvegardez. Voilà, vous venez de créer votre premier module :D , bon évidemment, il n’est pas identifiable et ne sert à rien, vous pouvez tout de même l’apercevoir dans l’onglet module de l’administration.

module prestashop non configuré

2 – Configuration du module Nous allons maintenant ajouter plusieurs fonctions dans notre module. Il va falloir donner un nom à notre module, lui définir sa version, sa description ect.. Pour cela, ajouter la fonction “__construct()”

1
2
3
4
5
6
7
8
9
10
11
12
13
class Monmodule extends Module
{
	function __construct()
	{
		$this->name = 'monmodule';
		$this->tab = 'Mes modules';
		$this->version = 0.1;
		$this->displayName = $this->l('Mon super module');
		$this->description = $this->l('Description de mon super module');
 
		parent::__construct();
	}
}
  • $this->name = ‘monmodule’;

Ici le nom de votre module : monmodule

  • $this->tab = ‘Mes modules’;

Ici la catégorie de votre module : Mes modules ( ou aussi “Stats” ou “Blocks” en fonction de l’utilité de votre module )

  • $this->version = 0.1;

Ici la version  ( à titre indicatif )

  • $this->displayName = $this->l(‘Mon super module’);

Ici le nom de votre module qui sera affiché dans la liste des modules.

  • $this->description = $this->l(‘Description de mon super module’);

Ici une description courte de votre module

Sauvegarder. Rendez-vous dans l’onglet “Modules” de l’administration. Enfin ! on peut apercevoir votre module avec la configuration que nous avons établi. Si vous cliquez sur “installer”, rien ne se passera, votre module sera simplement considéré comme installé.

module prestashop configuré

Pour exécuter des actions à l’installation ou la désinstallation du module,ajouter les fonctions suivantes :

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
class Monmodule extends Module{
 
	function __construct()
	{
		$this->name = 'votremodule';
		$this->tab = 'Mes modules';
		$this->version = 0.1;
		$this->displayName = $this->l('Mon super module');
		$this->description = $this->l('Description de mon super module');
 
		parent::__construct();
	}
 
	function install()
	{
		if (!parent::install())
			return false;
		if (!$this->registerHook('top'))
			return false;
		return true;
	}
 
	public function uninstall()
 	{
 	 	if (!parent::uninstall())
 	 		return false;
 	}
}

Ici, la fonction install() va installer votre module et l’enregistrer sur le hook “top”, allez dans l’onglet “positions” de la section “Modules”, après avoir installé votre module, vous verrez qu’il est enregistré sur la position “Top of pages”. Il existe plusieurs hook dans divers parties de votre site, tel que “leftColumn” , “rightColumn” ou footer.

La fonction unistall() va simplement désinstaller votre module.

Vous pouvez par exemple ajouter dans ces fonctions la création de table dans la base de donnée à l’installation ou la suppression lors de la désintallation.

Dans la liste des modules installés sur votre boutique, vous pouvez constater que certains d’entre eux sont configurable via un lien “>> Configurer”.

Pour implémenter cette fonctionnalitée à votre module, il suffit d’ajouter la fonction “getContent()” :

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
class Monmodule extends Module{
	function __construct()
	{
		$this->name = 'monmodule';
		$this->tab = 'Mes modules';
		$this->version = 0.1;
		$this->displayName = $this->l('Mon super module');
		$this->description = $this->l('Description de mon super module');
 
		parent::__construct();
	}
 
	function install()
	{
		if (!parent::install())
			return false;
		if (!$this->registerHook('top'))
			return false;
		return true;
	}
 
	public function uninstall()
 	{
 	 	if (!parent::uninstall())
 	 		return false;
 	}
 
	public function getContent()
	{
 
	}
 
}

Dans cette fonction, ajoutez le code que vous souhaitez, je vous donne un petit exemple que vous pouvez essayer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public function getContent()
	{
		if (isset($_POST['submit'])){
			if (!empty($_POST['lastname']) AND !empty($_POST['firstname']))
				echo '
<h1>Bonjour '.$_POST['firstname'].' '.$_POST['lastname'].'</h1>
';
			else
				echo '<span class="warning" style="display: block;">Erreur : Veuillez entrer votre nom et prenom</span>';
		}
 
		echo '
<fieldset>
<legend> Administration du module : </legend>
<form method="post">
     				Nom :
<input name="lastname" type="text" />
     				Prenom :
<input name="firstname" type="text" />
<input name="submit" type="submit" value="Envoyer" />
     			</form></fieldset>
';
 
	}

Dernières fonctions utiles, celles qui vont s’exécuter lors de l’appel du hook correspondant à votre module.

1
2
3
function hookTop($params){
		return $this->display(__FILE__, 'monmodule.tpl');
	}

Ici nous utilisons la fonction hookTop car notre module est enregistré sur le hook “top”, vous pouvez voir qu’ici j’ai retourné un fichier tpl.

Grâce à cette fonction, dans la partie ‘Top of pages’ va s’afficher le code que vous aurez mis dans le fichier “monmodule.tpl”. Vous n’êtes cependant pas obligé d’utiliser ces fonctions si votre module ne sera pas utilisé pour afficher quelques chose dans votre site (comme un block par exemple).

Faites vos requêtes et vos assignations smarty dans cette fonction.

Si vous n’avez pas tout compris, n’hésitez pas à poser vos questions en laissant un commentaire ci-dessous ;)

Je vous met ce module à disposition en téléchargement ici

Publié par
Plus d'articles pour la catégorie Tutoriels
75 Commentaires Poster un commentaire
  1. moabi
    Apr 12 2011

    Bonjour,
    merci pour cette leçon bien claire !
    j’avoue que Prestashop manque de tuto…
    je suis pour une belle suite de tuto comme ça !

    David

    Reply
    • eMizZ
      Jun 8 2011

      De rien ;)

      Reply
  2. Apr 27 2011

    Bonjour,
    Trés bon tuto (claire et facile) . je me demande si tu n’a pas oublié d’ajouter “Enseignant” à votre CV;

    Ton site est maintenant dans mes favoris.
    Merci

    Reply
    • eMizZ
      Jun 8 2011

      Merci à toi !

      Reply
      • simo
        Apr 10 2012

        Merci Pour le tuto

        Reply
    • Oct 24 2011

      Waw !! Merci pour tant de simplicité ! Page ajoutée aux favoris, naturellement

      Reply
  3. overdoze
    May 6 2011

    Bonjour
    un grand merci pour ce tuto mais j’ai des question a poser:
    -je me suis lancer dans le développement d’un module pour récupérer une liste des points relais mais je suis coincé dans l’étape de l’affichage des résultat récupérés, on m’a dit sur le forum de prestashop d’ajouter un hook a mon module alors j’ai ajouter une hook dans la table ps_hook et dans le fichier order .php (le hook s’affiche dans le déboguer) mais j’arrive pas a déterminer l’emplacement exacte pour ajouter le même nom du hook dans mon fichier module.php: dans la fonction install ou autre part?
    merci d’avance

    Reply
    • eMizZ
      May 10 2011

      Bonjour,

      Après avoir créer le hook, il faut créer une fonction dans le fichier php de votre module qui va permettre d’y rattacher ce dernier.
      Exemple :
      function hookTop($params){
      return $this->display(__FILE__, ‘monmodule.tpl’);
      }

      Où hookTop devra être remplacé par le nom de votre module !

      N’hésitez pas à relire mon article : Créer un module

      En espérant vous avoir aidé ;)

      Reply
  4. Peeter
    Jun 8 2011

    Bonjour,

    Merci pour ce beau tutoriel !
    Je pense qu’il serait judicieux de laisser à portée un zip de ce module de test afin que tout le monde puisse récupérer le code entier et le tester avant même d’avoir à y toucher : ) Cela pourrais en aider certains et éviter des problèmes de mal fonctionnement à cause d’un mauvais encodage ou un point-virgule oublié !

    Bonne soirée

    Reply
    • eMizZ
      Jun 8 2011

      Très bonne idée, je vais mettre d’ici ce soir le module en téléchargement !

      Merci ;)

      Reply
      • Peeter
        Jun 8 2011

        Pas de problème, Good job again !

        Reply
  5. Jovi
    Jun 22 2011

    Bonjour,

    Est-ce compatible PS 1.4 ? Car je vois que les captures d’écran semblent faites sur une 1.3.

    Merci pour ta réponse et super boulot !

    Reply
  6. Oct 12 2011

    bonjour ,
    svp j’applique tous les démarches mais je trouve un problème ( Erreur(s) de parsing dans le(s) module(s)) que ce que je peux faire??

    j’ai un problème je ne peut pas ajouter un bloc catégorie pour ajouter les sous catégorie dans cette nouvelle bloc
    svp aide moi

    Reply
  7. andy
    Oct 22 2011

    Bonjour,
    merci pour le tutorial, j’ai testé et pendant l’activation j’ai le message suivant ‘module non trouvé’.

    Reply
  8. jr
    Nov 21 2011

    Bonjour,

    Tout d’abords merci pour ce site il est super, et le tuto rien à redire ;)

    Perso j’ai juste un petit problème, je voulais créer de petits modules avec une img et un lien vers externe….donc je suis parti du module blockadvertising du template prest_alt, modifié certaines données donc le module apparait bien dans la barre des modules avec un nom différent du module d’origine, l’installation ne pause pas de problème, mais rien ne s’affiche sur mon site en localhost… j’ai essayé de vider le cash mais même résultat.

    Auriez-vous une petite astuce ?

    Reply
    • eMizZ
      Nov 21 2011

      Surement un problème de hook ?!

      Vérifiez dans le sous-onglet “position” si votre module est bien positionné là où vous le souhaitez.

      Reply
      • Jr
        Nov 22 2011

        Bonjour,

        Merci pour votre réponse, il apparaît dans le bon Hooks pourtant puisque j’ai reprise la base d’un module qui apparaît, et que je le vois même en utilisant le liveedit, je pense qu’il s’agir d’un pb de SQL pour charger l’image puisque j’ai pas paramétré la base… Je vais revoir cela ce soir :)

        Ce serait sympa une petite rubrique partage sur le site où nous pourrions mettres nos travaux si ils sont utilent à la communauté.

        Reply
  9. jr
    Nov 22 2011

    Bingo :) Simple problème de cache et css… ^o)

    Reply
  10. Philippe
    Nov 25 2011

    Bonjour, merci pour ces tutos

    je viens de créer un module grâce au générateur de module, j’ai copier les fichiers générés dans le dossier ../module/monmodule
    rien n’apparait dans l’onglet module du backend

    merci :-) )

    Reply
    • eMizZ
      Nov 25 2011

      Tu as quelle version de perstashop ?

      Reply
  11. Phil
    Nov 28 2011

    Bonjour

    merci pour ce tuto.

    je viens de creer mon module. j’ai mon interface de parametrage dans le backend, ok
    cette interface contient un formulaire, mais je ne sais quoi faire avec le submit.
    quel doit etre le parametre action du ?
    comment doit on faire le update? et dans quel fichier ?

    merci d’avance :) )

    Reply
    • eMizZ
      Nov 28 2011

      Je te conseille de ne rien mettre dans l’attribut action ( pour que le formulaire soit envoyé sur la même page ).

      1
      
      <form action="" method="post"></form>

      Ton formulaire sera placé dans la fonction _displayForm().
      Ensuite tu traite tes données dans la fonction getContent().

      En espérant t’avoir éclairé ;)

      Reply
      • Phil
        Nov 28 2011

        merci tu avais corrigé de toi même mes erreurs :) )

        je teste tout ça, mais attends toi à ce que je revienne à la charge ;)

        Reply
        • eMizZ
          Nov 28 2011

          N’hésite pas ! ;)

          Reply
          • Phil
            Nov 28 2011

            Merci !!!! :)

            ma partie admnistration de mon module fonctionne !!!

            mais, parce qu’il y a toujours un mais,

            je ne sais pas comment récupérer les données de ma Bd dans le fichier tpl. la balise {php} plante mon site

            étrange non ?

            merci d’avance

          • eMizZ
            Nov 28 2011

            Il ne faut pas utiliser la balise {php}
            Il faut, à partir de ton php, passer tes variables à smarty et ensuite les afficher dans le tpl.

            Je te conseille vivement de lire mon article au sujet de smarty : http://emilienmalbranche.fr/prestashop-ecommerce-tutoriels/tutoriels/smarty-et-prestashop-comment-ca-marche/

    • Phil
      Nov 28 2011

      oupsss :

      il faut lire : quel doit être le paramètre action du formulaire ?

      donc : le update dans le fichier appelé dans le formulaire je suppose ?

      mais comment construire la commande?

      Reply
  12. Mikel Do
    Jan 9 2012

    Bonsoir!

    J’ai réalisé la partie 1) de création d’un module, mais je ne l’aperçois pas dans l’onglet module de l’administration ???? J’ai raté une étape?

    Reply
    • eMizZ
      Jan 10 2012

      Vérifie le code, n’hésite à copier le contenu du fichier modules/monmodule/monmodule.php directement sur mon article. Cela devrait fonctionner.

      Bon courage ;)

      Reply
  13. Rodrigo
    Feb 1 2012

    Bonjour Emilien,

    Merci beaucoup pour les tutos.
    J’ai un grand problème sur mon site. La bannière est dans un format qui ne correspond pas à celle du thème que j’utilise. Donc, en gros, j’ai ma bannière à gauche qui a une largeur de 300px, à droite le “blockuserinfo” et en dessous un espace vide, que je voudrai combler avec quelque chose. J’ai posté le message sur le forum francophone de prestashop. Est ce que tu pourrai m’aider STP.

    Merci d’avance

    Reply
    • eMizZ
      Feb 1 2012

      Connais-tu le langage CSS ?

      Reply
      • Rodrigo
        Feb 1 2012

        un petit peu. Est ce que tu as compris mon souci? je suis sur que c’est un truc tout con et que je suis passé à côté comme un bleu

        Reply
        • Rodrigo
          Feb 1 2012

          PS: C’est impressionnant que dans le forum francophone personne ne réponds, et toi qui doit être débordé, tu me réponds. merci beaucoup. D’ailleur je me suis inscrit sur ton site pour la formation et personne m’a encore contacté ;-)

          Reply
  14. Adil
    Feb 3 2012

    Merci pour ce tuto qui m’a été très utile, j’ai pu créé mon module sans problème cela s’installe parfaitement, mais mon problème c’est que je ne sais pas comment l’utiliser dans mon site pour résumer le module est installé mais je sais pas comment faire pour l’inclure (afficher par exemple Bonjour nom ,prenom ) dans mon site j’espère que j’étais claire :)

    Reply
    • eMizZ
      Feb 3 2012

      Pour afficher le contenu du tpl du module sur le site, il faut utiliser les hook.

      Pour utiliser un hook existant, exemple le hook de la pas d’accueil (home) il faut:
      -greffer ton module sur le hook HomePage dans L’admin : Modules -> positions
      -ajouter la fonction hookHome dans le code php du module qui va retourner l’affichage du tpl via la fonction $smarty->display()

      Tu peux également créer un hook à la position de ton choix, pour ça suit mon tuto “créer un hook dans prestashop”

      Reply
  15. Feb 9 2012

    A mon merci pour ce tuto trouvé au hasard de mes recherches pour intégrer un diapo sur ma page d’accueil (je vais explorer le site maintenant) je rajouterais bien quelques échantillons de nos parfums sachant que nous les payons à noter fournisseur (plus de cadeau, c’est dire qu’ils sont précieux)

    Bref j’en apprends plus ici en une page qu’en dix sur le forum :-(

    Merci

    Reply
  16. Feb 15 2012

    Un générateur de module Prestashop sympa : http://www.ebuildy.com/prestashop.php

    Reply
  17. Arnaud
    Mar 10 2012

    Bonjour,
    je n’arrive pas à afficher le module communiquer, pourtant je le vois dans ma liste de modules… mais rien ne s’affiche côté front office, une idée?

    Reply
    • eMizZ
      Mar 10 2012

      Vérifier:
      - Le module est-il bien gréffé ?
      - La fonction de correspondant au hook sur lequel il est greffé est elle bien présente dans le code du module ?
      - Si oui, essayer de faire un echo ‘test’; dans la fonction de hook pour voir si quelque chose s’affiche sur le front.
      - Si oui, le problème vient surement du fichier template.

      Reply
  18. amar
    Mar 18 2012

    bonjour,
    j’ai un souci de creer un module, voila le message d’erreur
    Le ou les modules suivants n’ont pu être chargés:

    monmodule (classe manquante dans /modules/monmodule/monmodule.php)
    merci pour votre aide

    Reply
  19. j1v3
    Mar 21 2012

    Bonjour,

    Je commence le tuto, mais dès la création du fichier monmodule.php; le back office m’indique que le module n’a pu être chargé ?

    J’utilise la version 1.4.7, y’a t’il un rapport ?

    Reply
  20. j1v3
    Mar 21 2012

    Sorry,

    J’avais betement oublie la balise <?php

    :o

    Reply
  21. Francois
    Mar 29 2012

    Bonjour,

    J’ai copié le module que tu as mis en téléchargement.
    Je l’ai placé ici :
    “www/prestashop_test/modules/monmodule”

    Il ne sse passe rien dans le backend.
    Rien n’apparait.
    Quand je vais dans l’administrateur backend dans :
    “modules>positions”
    et que je regarde dans
    “Top of pages – 9 modules”
    je ne vois pas “monmodule”, rien n’est changé

    j’utilise la derniere version de prestashop 1.4.7

    C’est normal docteur ?

    Merci pour cette suite de tutos je vais peut être finir par y comprendre quelque chose.

    Reply
    • eMizZ
      Mar 30 2012

      Salut !

      Vérifier les permissions sur le dossier du module et ses fichiers. Il doivent être en 755 !

      Reply
    • Apr 4 2012

      @Francois : J’ai le meme probleme pourtant le dossier est en CHMOD 755.
      Comme toi j’ai rien dans les modules.

      J’ai écumé le forum ,le net pour voir si il ne s’agit pas d’un bug de la version 1.4.7.2.

      Reply
  22. Apr 16 2012

    Merci pour le tuto, quelques exemples clairs et bien choisis sont plus percutants que la doc officielle… que je respecte hautement bien sûr !

    Reply
  23. Andrei
    Apr 23 2012

    Bonjour, je suis auto didacte et j’aimerai savoir comment on crée un module diaporama pour mes futures themes
    merci par avance

    Reply
  24. malik
    Apr 27 2012

    Bonjour,
    je me permet de vous écrire pour vous poser une question.
    Dans la fonction install vous ammenez le construct du parent après avoir traduit du texte avec la méthode l($string), n’est on pas sensé l’appelé avant?
    Un autre tutoriel nous intimait de le faire, est-ce important?

    Reply
  25. Apr 27 2012

    Merci, ça fait plaisir ! Favoris maintenant!

    Reply
  26. May 3 2012

    Merci pour le tuto ;) c’est instructif.

    Reply
  27. Jun 27 2012

    Je suis novice, je voudrais rendre mon site plus sympa, en mettant en place une page d’accueil supplémentaire qui serait la vitrine de mon établissement ou je pourrais présenter mes produits.
    Sur cette nouvelle page les personnes intéressées pourront créer leur compte afin de pouvoir accéder à la page existante de mon site marchand.
    Comment dois-je faire ?
    Merci pour votre réponse

    Reply
  28. M
    Jun 30 2012

    Utile, concis, précis. Merci ;-)

    Reply
  29. Aug 18 2012

    Bonjour,
    Objet: Presta 1.4.8.2, l’onglet BDD n’existe plus dans le module Admin.

    J’ai démarré sur Prestabox et rapidement migré vers Prestashop. BOX m’a vendu mon backup, ce qui m’a évité une resaisie fastidieuse.
    Lorsque j’ai repris le backup de mes fichiers créés sous PrestaBOX, je me suis aperçu que le sous onglet BDD avait disparu de l’onglet Préférences(Il n’existe pas dans la version PrestaBOX afin d’interdire l’accès aux données par FTP).
    Si je load prestashop avec d’autres tables, le sous onglet BDD est visible dans l’onglet Préférence, mais si je restaure mon backup PrestaBOX, il disparaît à nouveau.
    C’est pour cette raison, que je pense qu’un flag a été placé par les développeurs dans une table de PrestaBOX pour supprimer cet onglet (cela fait un moment que je cherche parmi les 229 tables, en vain).
    Cordialement.
    Daniel
    Ps Merci et bravo pour vos artcles.
    Je viens de m’abonner.

    Reply
    • Aug 18 2012

      Bonjour,

      Avez-vous tenté de regardé du coté des permissions ?
      Votre compte est-il administrateur ?

      Onglet “Employés” => “Permissions”

      Bien cordialement,

      Reply
    • Sep 21 2012

      Bonjour à tous,
      J’ai trouvé la solution à cette anomalie: il suffit de remplacer le fichier ps_access fourni par le backup de Prestabox par le fichier ps_access récupéré dans la BDD de Prestashop. Tout bête mais difficile à trouver dans une BDD de 219 tables…

      Reply
  30. Sep 18 2012

    “Pour afficher le contenu du tpl du module sur le site, il faut utiliser les hook.

    Pour utiliser un hook existant, exemple le hook de la pas d’accueil (home) il faut:
    -greffer ton module sur le hook HomePage dans L’admin : Modules -> positions
    -ajouter la fonction hookHome dans le code php du module qui va retourner l’affichage du tpl via la fonction $smarty->display()

    Tu peux également créer un hook à la position de ton choix, pour ça suit mon tuto “créer un hook dans prestashop””

    C’est bon, j’ai relis a la liste des commentaires et trololol.. j’ai trouver. Merci en tout cas !

    Reply
  31. MHR
    Oct 22 2012

    Bonjour, super tutoriel, ceci n’a pas l’air d’actualité sur Prestashop 1.5.0. Les modules ne sont pas visibles en BO.
    Avez-vous une solution ?

    Reply
  32. Oct 30 2012

    Ce tuto est-il valable pour la nouvelle version de Prestashop (1.5) ?

    Reply
  33. Vincent
    Nov 2 2012

    Bonjour je suis en train de créer un petit module qui affiche un slogan si le site est en français et si la langue diffère c’est un slogan anglais qui apparait. Le seul problème c’est qu’il m’affiche tout le temps le module en anglais.
    Voici le code:
    {if $language.iso_code != ‘fr’}

    {else}

    {/if}
    (Code venant du fichier .tpl)
    Merci d’avance =)

    Reply
  34. VincentG
    Nov 2 2012

    Par rapport à la langue j’ai trouvé ma solution comme un grand =D Pour ceux qui désire faire un sélecteur sur la langue procéder comme ceci :

    {if $lang_iso != ‘fr’}
    AUTRES
    {else}
    FR
    {/if}

    Reply
  35. Salah
    Nov 5 2012

    Bonjour, j’ai un sérieux problème dans la création du site d’une amie, je n’ai pas de connaissance en programmation et pas non plus sur prestashop, j’ai accepté d’aider cette personne qui n’en a pas non plus, hier soir en voulant customiser le site j’ai télécharger un module blockcms v1.5 qui s’est bien installé mais qui ne m’a pas donné les fonctions que j’attendais je l’ai alors supprimé. Mais en l’installant je me suis rendu compte qu’il avait pris la place du bloc CMS d’origine. Je suis sous prestashop 1.4.8.2 et je ne connais pas la version du bloc CMS par défaut sur cette version là. Le problème c’est que je ne pouvais plus gérer mes pages CMS ni en créer de nouvelles j’ai un message d’erreur qui s’affiche (une erreur s’est produite pendant la mise à jour cms (Unknown column ‘active’ in ‘field list’)). J’ai donc réinstaller la version du bloc CMS qui se trouve dans le pack prestashop 1.4.8.2 (autrement dit la version bloc CMS v1.1) mais le problème persiste, toujours le même message d’erreur et toujours aucune gestion des pages CMS disponible. Je suis bien embêter car en voulant aider mon amie je l’ai mise dans une situation embarrassante d’autant plus qu’elle devait lancer son activité dans ces jours-ci. C’est pourquoi je sollicite de votre bienveillance pour m’apporter l’aide nécessaire pour corriger ce bug. Très cordialement

    Reply
    • Nov 14 2012

      Si vous avez remis l’ancienne version du module, pensez à effacer le cache du site dans les préférences de performance.

      Reply
  36. Nov 30 2012

    Merci pour la structure de module

    Reply
  37. PhpGeek
    Dec 6 2012

    Salut, Meeeeerci bcp pour ce tuto, très clair et facile.

    Bonne continuation;

    Reply
  38. Antoine
    Dec 6 2012

    Bonjour
    Votre générateur de module est-il compatible avec PS 1490 ?
    La ligne de code Tools::addCSS avec assignation du ficher css n’est pas présent, normal ?
    Merci

    Reply
  39. Kaby
    Feb 11 2013

    Bonjour,

    Avant tout merci pour l’ensemble des cours / tuto de ce site !

    Par rapport à celui ci, je souhaite créer un module pour faire un menu. Rien de bien compliqué, je souhaite seulement ajouter des id au balises de mon menu. Si je regarde le module de base de prestashop il y a une instanciation de l’utilisation de la base.

    Pour la création d’un tel module, que conseillez vous:
    - S’inspirer du menu de base et notamment de l’utilisation de la base de données ?
    - Repartir de zéro avec un script un peu basique (requête sql, récupération des données, affichage avec un foreach) en php dans la fonction getContent() ?

    Merci d’avance !

    Reply
  40. Mar 29 2013

    Bonjour,
    Je viens de reprendre le site géré par prestashop de la boite dans laquelle je bosse et les 2 dernières catégories 5 gauche et 5 droite ne s’affichent pas sur la page du site ! Je les avais auparavant mis à la corbeille et je viens de les recréer. Quelqu’un aurait la gentillesse de m’aider ? Merci d’avance est-ce que l’on peut créer plus que 10 catégories ?

    Reply
  41. elsa
    Jul 3 2013

    Bonjour,

    Merci, merci, merci pour ces tuto super clairs et très utiles pour des néophytes comme moi.
    J’ai voulu créer moi-même ma boutique, sans connaissance sur le sujet… et j’avoue que je patauge!!!

    Mon dernier souci en date : l’intégration d’un module PAYBOX fourni par ma banque. Voilà 15 jours que j’y travaille et je crois que je vais craquer!
    On me fournit un fichier “modulev2.cgi”, on me demande de créer un dossier “cgi-bin” à la source de mon ftp pour le classer… jusque là, tout va bien!!!
    Par contre, impossible de savoir où, dans prestashop, se trouvent les outils qui me permettront d’installer le module!!!

    Je ne souhaite pas doubler mon investissement en achetant le module spécifique sur prestashop… Il doit bien y avoir une solution non???

    Pouvez-vous m’aider?
    Merci

    Reply
  42. Oct 26 2013

    Bonjour,

    Votre site est excellent et instructif. Merci.

    J’essaie de faire produire un son des reception d’une commande. Je suis sous 1.4.8.3

    Mes capacites de programmation sont limitees.

    Merci d’avance
    Woody

    Reply
  43. chris
    Dec 5 2013

    Est ce que ce tuto est compatible 1.5, il ne semble pas marcher si je copie le répertoire dans module.

    Reply
  44. Jun 19 2015

    très bon tuto, c’est très simple et très claire même un débutant pourra créer un module prestashop grâce à ces explications

    Reply
  45. Jun 19 2015

    vos explications son tellement simple et facile à comprendre, merci pour la leçon ça m’a énormément aider

    Reply

Trackbacks & Pingbacks

  1. Réaliser un module pour Prestashop | The Black Box
  2. Un générateur de module pour prestashop ! | Emilien Malbranche | Analyse, Tutoriels et Modules pour votre e-commerce
  3. Développer un module Prestashop | Blog MTI

Partagez votre opinion, postez un commentaire.

(requis)
(requis)

Note: Le HTML est autorisé. Votre e-mail (ne sera pas publié).

S'abonner aux commentaires


9 + 8 =