Construire un outil d'importation CSV de produit dans OpenCart - 1ère partie

Supposons que vous ayez une liste de produits pour votre magasin dont les prix doivent être mis à jour sur le site. Mais vous détestez les emplois manuels? Vous voulez une solution où vous pouvez importer directement cette liste et tous vos produits et prix sont mis à jour en quelques clics. Oui! c'est ce que nous allons faire. Par défaut, OpenCart n'offre pas la possibilité d'importer les produits depuis une source externe. Dans ce cas, nous devons développer un module pouvant être utilisé pour l'importation..

Dans notre article précédent, nous avons exporté certains produits et leurs informations (identifiant, modèle, nom du produit et prix). Continuez donc notre travail précédent et commençons à construire un outil d'importation.!

Qu'allons nous faire?

Aujourd'hui, nous allons ajouter un système d'importation dans OpenCart. Comme nous le savons, OpenCart est une solution de commerce électronique gratuite qui permet également aux développeurs de la personnaliser en conséquence. Parlons des magasins. Au quotidien, les choses changent très souvent, par exemple changement de quantité, changement de prix, changement de description, etc.. 

Pour que toute entreprise se développe, il est essentiel de mettre à jour le magasin et un propriétaire doit connaître ses concurrents, pour que les choses changent…! Maintenant, la question est de savoir si l’on exploite une boutique en ligne et qu’il souhaite modifier les prix des produits. Qu'est ce qu'il va faire? À cette fin, nous fournissons un moyen par lequel les utilisateurs peuvent alterner des choses selon leurs besoins professionnels. Donc, si vous utilisez une boutique en ligne et que vous souhaitez effectuer quelques changements, ce système d'importation vous aidera au mieux. Donc, dans cette première partie, nous allons créer un formulaire / interface où un utilisateur admin pourra télécharger le fichier CSV. Pour référence, veuillez consulter la section Construction d’un outil d’exportation CSV de produit - OpenCart. .

Étape 1: Ajout d'un lien

  1. Aller vers (chemin_ magasin) /admin/controller/catalog/product.php

  2. Trouvez la ligne de code: $ this-> data ['products'] = array ();

  3. Insérez le code donné après: 
     

$ this-> data ['import_csv'] = $ this-> url-> link ('catalogue / produit / importCSV', 'token ='. $ this-> session-> data ['token']. $ url, «SSL»);
(Le code ci-dessus, nous avons analysé le lien afin que nous puissions l'attribuer à un bouton)

Étape 2: Ajout d'un bouton dans une vue

  1. Aller à (store_path) /admin/view/template/catalog/product_list.tpl
  2. Vous trouverez du code HTML.
  3. Il suffit de trouver la classe appelée "bouton"
  4. En classe, vous verrez d’autres boutons comme «insérer», «copier», etc..
  5. Il suffit de coller le code donné sur tous les boutons 
  6. '"> Importer un fichier CSV

Étape 3: La fonction du contrôleur

Comme nous avons créé un bouton ci-dessus, nous allons créer une fonction publique dans le même fichier contrôleur, i.e., (chemin_ magasin) /admin/controller/catalog/product.php. Assurez-vous que le nom de la fonction doit correspondre au nom que vous mentionnez ci-dessus dans le lien. Nous avons donc écrit une fonction publique nommée importCSV ()

Dans la fonction, il y a peu de lignes de code à écrire

3.1 Titres de réglage et titres

$ this-> document-> setTitle ('Import CSV'); // définition du titre de la page $ this-> data ['heading_title'] = "Importer un fichier CSV"; // analyse du titre de l'en-tête 

3.2 Chargement du modèle

La ligne suivante charge le modèle pour notre utilisation ultérieure:

$ this-> load-> model ('catalogue / produit'); // chargement du modèle de produit à des fins d'importation

3.3 URL d'action et d'annulation

En créant un formulaire, nous allons analyser les liens "Télécharger" et "Annuler" pour l'utilisateur..

$ this-> data ['cancel'] = $ this-> url-> link ('catalogue / produit', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL '); // annuler l'URL $ this-> data ['action'] = $ this-> url-> link ('catalogue / produit / importCSV', 'token ='. $ this-> session-> data ['token'] . $ url, 'SSL'); // URL de la page actuelle 

3.4 chapelure

// Les miettes de pain commencent ici $ this-> data ['breadcrumbs'] = array (); $ this-> data ['breadcrumbs'] [] = array ('text' => $ this-> language-> get ('text_home'), 'href' => $ this-> url-> link ('commun / home ',' token = '. $ this-> session-> data [' token '],' SSL '),' separator '=> false); // lien vers la page d'accueil $ this-> data ['breadcrumbs'] [] = array ('text' => "Importer un fichier CSV", 'href' => $ this-> url-> link ('catalogue / produit', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL'), 'separator' => '::'); // lien vers la page du produit // la chapelure se termine ici 

3.5 Configuration du modèle

Nous allons dire au contrôleur qui rend le import_csv.tpl pour la vue.

$ this-> template = 'catalogue / import_csv.tpl'; // donnant le chemin du template // “import_csv.tpl” est un nom de template qui sera créé plus tard $ this-> children = array ('common / header', 'common / footer'); // appelant en-tête et pied de page $ this-> response-> setOutput ($ this-> render ()); // rendu la vue 

Étape 4: Formulaire de téléchargement CSV

Maintenant, nous devons créer un autre modèle qui sera affiché après avoir cliqué sur le bouton

  1. Suivez simplement le chemin ci-dessus (store_path) / admin / view / template / catalog
  2. Créez un nom de fichier en tant que import_csv.tpl 
  3. Ouvrez le modèle dans votre IDE préféré et collez le code HTML simple suivant.
// afficher les données du fil d'Ariane ">

Importer '; "> Annuler
* CSV

Vous pouvez créer votre propre modèle, le code ci-dessus en est une version simple..

Conclusion

Dans cette partie du didacticiel, nous avons suivi quelques étapes pour créer un "outil d'importation". À cet égard, nous avons modifié un modèle, créé un formulaire afin de fournir une meilleure faisabilité à l'utilisateur. Dans notre prochaine partie de cet article. Le fait de diviser cet article en deux (2) séries a pour but de vous expliquer clairement les "Layouts" et la "Logique d'entreprise" de ce module. Ainsi, dans notre prochain article, CSV se coordonnera directement avec la base de données et importera les données en conséquence. Merci de votre intérêt, veuillez fournir vos suggestions et commentaires. Jusqu'à l'article suivant, codage heureux!