Maison > développement back-end > tutoriel php > Créer un outil OpenCart pour exporter les fichiers CSV de produits

Créer un outil OpenCart pour exporter les fichiers CSV de produits

王林
Libérer: 2023-09-02 06:02:01
original
890 Les gens l'ont consulté

Si vous exploitez une boutique en ligne ou une entreprise Web et que vous ne connaissez pas l'importance du CSV (Comma Separated Values), alors il est temps de mettre à niveau vos connaissances sur la manipulation des données. Pour comprendre son importance, examinons un scénario impliquant un magasin OpenCart et voyons comment un outil d'exportation CSV de produit peut être conçu comme une solution.

Supposons que vous exploitiez une boutique en ligne avec des milliers d'articles et que vous deviez modifier les prix de tous les articles pour un événement spécial. Il peut y avoir deux solutions possibles :

  1. Accédez au panneau de configuration du produit (panneau d'administration) et modifiez manuellement les prix un par un.
  2. Donnez à la personne concernée un accès direct à la base de données et laissez-la utiliser vos données.

Dans le premier cas, lorsque vous devez modifier le prix des articles un par un en suivant l'interface utilisateur fournie par le panneau d'administration du magasin, il s'agit d'une méthode sûre, mais modifier le prix de milliers d'articles peut prendre beaucoup de temps - par exemple un grand nombre de données peuvent prendre plusieurs semaines.

Dans le second cas, des problèmes de sécurité peuvent survenir lorsque vous fournissez un accès direct à la base de données du magasin. Parfois, de graves problèmes peuvent survenir et entraîner un crash de votre système.

Quelle est la solution ?

Il doit donc y avoir un mécanisme par lequel les projets peuvent être formatés et vous pouvez les importer/exporter par lots directement dans votre système. CSV est la meilleure solution. C'est ce que nous ferons dans le tutoriel.

Qu'est-ce que le CSV ?

CSV est l'abréviation de « Valeurs séparées par des virgules ». Il s'agit d'une méthode de formatage des informations extraites d'une base de données afin qu'elles puissent être lues et modifiées dans un tableur ordinaire. Vous pouvez ensuite ajouter de grandes quantités d'informations à la base de données.

Exportation de produits dans OpenCart

Compte tenu du scénario ci-dessus, il est parfois difficile d'ajouter et de modifier des produits en masse, nous allons donc créer un outil d'exportation CSV dans le système. Cela nous permet de fournir tous nos produits dans un format spécifique afin que nous puissions facilement lire, ajouter et modifier les informations ultérieurement. Commençons par créer l’outil d’exportation.

1. Bouton Exporter dans la page produit

Contrôleur 1.1

  1. Accédez à (您的 opencart 商店目录)/admin/controller/catalog/product.php.
  2. Trouvez la fonction getList().
  3. Ajoutez la ligne suivante après cette ligne de code :
$this->data['products'] = array(); 
$this->data['export_csv'] = $this->url->link('catalog/product/exportCSV', 'token=' . $this->session->data['token'] . $url, 'SSL'); 
Copier après la connexion

Le contrôleur résout simplement l'URL d'exportation en vue afin qu'elle puisse être liée au bouton.

1.2 Vue

  1. Accédez à (您的 opencart 商店目录)/admin/view/template/catalog/product_list.tpl.
  2. HTML trouvé : <div class="buttons">.
  3. Ajouter un bouton d'exportation HTML :
<a onclick="location = '<?php echo $export_csv; ?>'" class="button">Export CSV</a>
Copier après la connexion

Allez dans le panneau d'administration de votre boutique et sélectionnez Catalogue > Produits et vous verrez le bouton Exporter comme indiqué dans la capture d'écran ci-dessous.

创建用于导出产品 CSV 文件的 OpenCart 工具

2. Exporter des produits

Contrôleur 2.1

  1. Accédez à (您的opencart商店目录)/admin/controller/catalog/product..
  2. Créez une nouvelle fonction publique, qui est public function exportCSV(){ }.
  3. Dans la fonction, ajoutez simplement les lignes de code suivantes.

$this->load->model('catalog/product'); // Loading the Model of Products

$temp_data = $this->model_catalog_product->getProducts(array('filter_status'=>1)); // Fetch all the Products where Status is Enabled

/* CSV Header Starts Here */

header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=ProductsCSV-".date('d-m-Y').".csv");
// Disable caching
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1
header("Pragma: no-cache"); // HTTP 1.0
header("Expires: 0"); // Proxies

/* CSV Header Ends Here */

$output = fopen("php://output", "w"); //Opens and clears the contents of file; or creates a new file if it doesn't exist

$data = array(); 

// We don't want to export all the information to be exported so maintain a separate array for the information to be exported
foreach($temp_data as $data)
{
    $data[] = array(
    'product_id' =>$data['product_id'],
    'model' =>$data['model'],
    'name' =>$data['name'],
    'quantity' =>$data['quantity'],
    
    );

}

// Exporting the CSV
foreach($data as $row)
{
    fputcsv($output, $row); // here you can change delimiter/enclosure
}

fclose($output); // Closing the File
Copier après la connexion

Et voilà ! Vous avez créé un outil d'exportation de produits pour votre panneau OpenCart. Cliquez simplement sur le bouton Exporter et le fichier CSV sera téléchargé sur votre ordinateur. Vous pouvez ajouter autant de colonnes que nécessaire.

Conclusion

« Le temps est de l'or. » En tant qu'entrepreneur ou propriétaire d'entreprise, vous ne voulez pas perdre votre temps précieux. Lorsqu'il s'agit de logiciels, les entrepreneurs recherchent toujours le moyen le meilleur et le plus efficace d'accomplir leur travail.

Ainsi, dans ce didacticiel, nous avons créé un outil commercial qui permet d'exporter les informations sur les produits depuis OpenCart de manière plus rapide et plus simple en utilisant le format de données CSV. J'écrirai également un tutoriel sur « Importation CSV » afin que nous puissions facilement ajouter et mettre à jour des informations selon nos besoins.

J'espère que vous avez trouvé cet article utile pour votre entreprise. Veuillez donner vos précieux commentaires ci-dessous. Merci!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal