Dans notre dernier tutoriel, nous avons expliqué comment implémenter un outil d'importation, dans lequel nous avons créé un bouton d'importation et son modèle frontal. Nous verrons aujourd'hui comment importer directement dans notre système OpenCart les données en vrac de nos ordinateurs.
Considérons d'abord la hiérarchie. Dans le didacticiel précédent, nous avons implémenté l'outil d'exportation, qui permet à l'utilisateur de télécharger des feuilles CSV et de les remplacer au besoin. Après cela, nous avons implémenté l'outil d'importation, qui permet à l'utilisateur de télécharger / importer ce fichier / ces données édités. Auparavant, nous avions implémenté la mise en page. Dans cet article, nous allons implémenter la fonctionnalité.
Dans notre dernier tutoriel, nous avons créé un contrôleur qui nous pousse à la mise en page du formulaire de téléchargement. Dans le fichier de vue de la mise en page, nous avons eu une entrée de téléchargement dans laquelle l'utilisateur peut télécharger un fichier CSV, comme indiqué ci-dessous:
admin / controller / catalog / product.php
.importCSV ()
Fonction que nous avons créée dans le précédent tutoriel.if (($ this-> request-> server ['REQUEST_METHOD'] == 'POST')))
après cela, pour s'assurer que la partie de code ne sera exécutée que si le formulaire ci-dessus est soumis.Le code suivant ouvre le fichier CSV soumis et le traite en lecture seule..
Nous devons maintenant passer au travers de chaque ligne du fichier CSV et enregistrer dans notre base de données. À cet égard, nous allons parcourir les enregistrements et les sauvegarder en conséquence..
model_catalog_product-> importCsvData ($ data); // analyse les données à modéliser else // en cas d'erreur, mettez le code de débogage ici?>
Une fois l'importation terminée, l'utilisateur doit être redirigé. Le code suivant redirige l'utilisateur vers le formulaire et envoie un message de réussite..
session-> data ['success'] = 'CSV importé avec succès!'; // message de réussite $ this-> redirection ($ this-> url-> link ('catalogue / produit', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL' )); // redirigé vers la page du produit?>
Jusqu'à présent, nous avons créé une fonction qui télécharge uniquement le fichier CSV, lit ses données ligne par ligne et les analyse dans le modèle. Maintenant, nous devons créer un modèle tel que défini dans le code du contrôleur, qui est responsable de la sauvegarde des données analysées dans la base de données..
admin / model / catalogue / product.php
.importCsvData ($ data)
.db-> requête ("UPDATE" ".DB_PREFIX." produit 'SET. $ modèle. "", quantité = ". (int) $ quantité."' WHERE. $ product_id. "" "); // mise à jour du produit quantité et son modèle if ($ name) $ query = $ this-> db-> query ("UPDATE '" .DB_PREFIX. "product_description" SET. $ this-> db-> escape ($ name). "" WHERE . $ product_id. "" "); // met à jour le nom du produit?>
Le tutoriel d'aujourd'hui vise donc à fournir une solution complète pour le système d'exportation / importation. Nous fournissons une telle solution, dans laquelle les utilisateurs peuvent éditer / mettre à jour leurs données. Cette solution est très facile à utiliser et à mettre en œuvre. J'attends vos commentaires avec impatience. N'hésitez pas à laisser un commentaire ou une requête ci-dessous. Je vous remercie!