Prestashop ajouter champ produit
Table des matières :
- Comment ajouter champ produit dans Prestashop ?
- Nouvelle version de Prestashop pour ajout de champ produit
- Ajouter nouvel attribut personnalisé à un produit dans Prestashop c'est un jeu d'enfant où le faire
- Etapes pour Prestashop ajouter champ produit
Navigant tant sur la version 1.6 que sur l'édition 1.7 de Prestashop, cette approche est tout aussi efficace.
Il faudra opérer une modification de la classe "Produit" de Prestashop sous le couvert de l'override, conjointement à un ajustement de l'affichage sur notre formulaire de fiche produit incorporé dans la vue. Ainsi, cela favorisera l'ajout d'un champ produit inédit.
Il sera indispensable d'élaborer un module inédit dans le chemin d'accès /modules/composition.
Comment ajouter champ produit dans Prestashop ?
Afin d'atteindre l'objectif visé, la route à suivre requiert quelques étapes cruciales :
1) L'élaboration d'un module spécifique,
2) L'ajout d'un champ additionnel à la table ps_product_lang lors de la mise en place du module,
3) L'intégration de deux crochets et trois en configuration multilingue,
4) L'effectuation d'un override de la classe Product, c'est-à-dir, son remplacement,
5) La conception d'un template consacré à la partie back-office.
Franchement, cela ne requiert rien de bien astrophysique. Comme le précise le guide Prestashop, un module, pour assurer son fonctionnement, nécessite un nom de dossier spécifique, un fichier .php et une classe portant la même appellation. On doit également le munir d'une méthode de construction, d'une autre pour l'installation, et une pour sa désinstallation.
De plus, il est d'une importance capitale d'adhérer à l'architecture préconisée par Prestashop dans l'élaboration de modules : une règle d'or à ne surtout pas négliger pour une intégration réussie.
Nouvelle version de Prestashop pour ajout de champ produit
La mise à jour majeure 1.7 de Prestashop a complètement transformé la manière de gérer les fiches produits en backoffice. Cette page fonctionne désormais grâce aux méthodes Symfony, nouvelle génération, ce qui signifie une exigence de mise à jour pour tous les modules qui souhaitent ajouter des renseignements produits.
L'ajout de nouveaux champs produits et leur gestion dans l'interface d'administration de Prestashop 1.7, nous oblige à construire un tout nouveau module,
Ce dernier aura la responsabilité d'introduire de nouveaux champs dans notre entité produits, telle que :
custom_field
custom_field_lang
custom_field_lang_wysiwyg
En conséquence, il devient nécessaire d'opter pour la surcharge de l'objet Product pour lui incorporer ces nouveaux champs. Pour ce faire, il convient de générer un fichier Product.php comprenant le contenu suivant dans le répertoire override/classes du module.
Ajouter nouvel attribut personnalisé à un produit dans Prestashop c'est un jeu d'enfant où le faire
Procédons à l'addition de quelques fonctions supplémentaires à notre module, une dédiée à l'installation / désinstallation et une autre pour le crochet dont nous aurons besoin pour apporter des ajustements à notre interface d'administration des produits.
Juste après notre fonction __construct(), nous joindrons ces procédures d'installation.
Soyons clairs : rien d'aussi neurologique que ça en a l'air. Nous allons simplement stipuler que lors de l'installation de notre module, nous nous appliquerons à retravailler la structure du tableau ps_product afin d'intégrer notre champ produit composition.
Il ne nous reste qu'une finalité à régler dans ce fichier. Cela concerne le 'crochet' pour l'intégration de notre bloc dans le panneau de commande.
Notre intervention sera précisément sur le 'crochet' hookDisplayAdminProductsMainStepLeftColumnMiddle pour y insuffler notre vue personnalisée.
Etapes pour Prestashop ajouter champ produit
Ajouter un champ à la table ps_product_lang nécessite simplement de lancer une requête SQL, à convoquer lors de la procédure d'installation du module. Le même processus doit être suivi lors de sa désinstallation. On utilise très spécifiquement ici le système rénové de traduction, les techniques d'ajout et d'élimination du champ cstextfield au sein de la table ps_product_lang.
On ne doit pas omettre d'utiliser le crochet displayAdminProductsMainStepLeftColumnBottom qui va permettre l'affichage du champ supplémentaire dans la colonne de gauche, positionné en dessous des rubriques existantes de Résumé et Description.
Grâce à l'Override, ou la surcharge, de la classe Product, il est possible de définir le genre de champ qui peut être ajouté à cette classe. On procède à l'ajout d'un champ wysiwyg qui va nécessiter les 3 paramètres suivants : type, lang et validate. Soyez attentif au fait que ce fichier doit prendre le nom de la classe qu'il surcharge et être adéquatement situé dans le dossier override de votre module.