Accueil » Conseils & tutoriels sites internet » Tutos Prestashop » Prestashop 1.6 : ajouter des états de produits

Prestashop 1.6 : ajouter des états de produits

Posté dans : Tutos Prestashop 0

Les e-commerçants peuvent avoir besoin de préciser davantage l’état des produits en vente sur leur site. Par défaut Prestashop propose les suivants : « neuf », « occasion/seconde main », et « reconditionné ».

Il peut arriver que l’on souhaite préciser davantage lesdits états. Pas de problème, quelques modifications des templates, de la base de données et d’une classe de l’admin feront très bien l’affaire. Cette besoin s’exprime notamment par l’utilisation de modules de marketplaces, couplant ainsi la solution e-commerce Prestashop vers des outils comme Amazon, CDiscount ou Ebay.

 

Le cœur des produits de Prestashop

Les états des produits sont nommés « conditions » par le coeur de Prestashop. Ils sont inscrits dans la base de données dans les tables ps_product et ps_product_shop. Ces tables déterminent de nombreux éléments essentiels à vos produits, comme le code EAN13, l’ID du produit, etc. Autant vous dire que lors d’une mise à jour de Prestashop vers une version supérieure, celles-ci sont primordiales.

Voici en image la table ps_product. Le préfixe peut varier selon votre installation, mais la structure demeure la même.

 

ps_product

 

Comme vous pouvez le voir, cette table est primordiale pour la bonne configuration de vos produits, et la colonne « condition » porte les valeurs « enum(‘new’,’used’,’refurbished’) » correspondant à « neuf », etc. 

 

Ajout d’états de produits en base de données

L’ajout de ces états de produits sautera à chaque mise à jour de Prestashop, pensez-y ! De plus, il s’agit d’une modification de coeur, touchant la base de données. Veillez bien à sauvegarder l’ensemble avant de manipuler quoi que ce soit, vous êtes responsable de votre site et de tout ce qui s’y rapporte.

Nous allons donc éditer cette colonne pour en modifier les champs. Insérez-y les valeurs que vous souhaitez voir apparaître sur votre site (comme « enum(‘new’,’used’,’refurbished’,’Occasion comme neuf’) »).

product_condition

 

Comme vous pouvez le voir sur l’image, la valeur par défaut sera « new », donc « Neuf » en français.

 

Validez, et passons à présent à la table ps_product_shop. La colonne « condition » s’y trouve également, nous allons la modifier de la même manière.

ps_product_shop

Rien de bien compliqué, n’est-ce pas ? Vous avez à présent créé de nouveaux états de produits, il va falloir les afficher en back-office ainsi qu’en front-office.

Afin de gagner en performance sur votre gestion de catalogue Prestashop, la Team annote des tutos sur les requêtes SQL utiles, ou encore d’autres requêtes SQL pour vos produits qui vous aideront à améliorer votre gestion 🙂

 

Ajout des états de produits dans votre site Prestashop 1.6

Ce n’est donc pas parce que les informations d’états de produits ont été ajoutées dans votre base de données que cela signifie que vous pourrez y associer des produits. Pour cela, il va falloir corriger quelques éléments sur votre site Prestashop, à savoir les objets produits, et les vues associées (comprenez les templates en sorte).

A ce stade, j’imagine que vous disposez bien évidemment d’une sauvegarde de votre site via PhpMyAdmin et Filezilla, n’est-ce pas ?

 

Modification du template controller product

Via votre ftp, éditez le fichier informations.tpl situé dans le répertoire admin/themes/default/template/controllers/products. Allez à la ligne 319 et vous pourrez voir le « dropdown » qui vous permet de sélectionner les états du produit en back-office.

infotpl

Ajoutez-y vos propres états personnalisés (un bon gros copier-coller vous fera gagner du temps). Passons aux classes (hé oui, c’est du MVC, il faut bien déterminer les classes nous n’avons fait que les controllers !).

 

Modification de la class Product

Rendez-vous dans le répertoire classes à la racine de votre site et éditez le fichier product.php. Allez à la ligne 291 et expliquez à Prestashop que l’array « condition » peut avoir les valeurs que vous avez déterminé dans le template back-office et dans la base de données.

Un bon développeur saura que dans le cas d’une telle modification, un override est à privilégier (plus propre, si toutefois je puis considérer un override comme tel…). Contactez-nous si vous souhaitez qu’on l’effectue pour vous !

Vous pouvez alors modifier les états de produit en back-office. Maintenant nous allons nous occuper du front-office, qui n’est toujours pas au courant que les états peuvent prendre davantage de valeurs. 

 

Modification du thème Prestashop 1.6

Comme de bien entendu, c’est le fichier product.tpl du thème par défaut qu’il faudra modifier. Ligne 162, rajoutez vos états personnalisés, dans product.tpl de votre thème Prestashop 1.6 :

 

producttpl

 

Validez, vous avez terminé ! Faites ceci dit attention aux mises à jour de Prestashop 1.6 qui risquent de vous écraser les modifications, il est probable que vous ayez à les ré-effectuer derrière. Néanmoins, cela n’est pas très compliqué, non ?

Allez, quelques captures d’écran d’un état de produit « comme neuf » sur un Presta par défaut…

Front-office :

commeneuf

Back-office :

commeneufbo

Imprimer Imprimer

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.