Maison >développement back-end >tutoriel php >Créer un outil OpenCart pour exporter les fichiers CSV de produits
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 :
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.
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.
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.
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.
(您的 opencart 商店目录)/admin/controller/catalog/product.php
. getList()
. $this->data['products'] = array(); $this->data['export_csv'] = $this->url->link('catalog/product/exportCSV', 'token=' . $this->session->data['token'] . $url, 'SSL');
Le contrôleur résout simplement l'URL d'exportation en vue afin qu'elle puisse être liée au bouton.
(您的 opencart 商店目录)/admin/view/template/catalog/product_list.tpl
. <div class="buttons">.
<li>Ajouter un bouton d'exportation HTML : </li>
<pre class="brush:html;toolbal:false;"><a onclick="location = '<?php echo $export_csv; ?>'" class="button">Export CSV</a>
</pre>
<p>Allez dans le panneau d'administration de votre boutique et sélectionnez <strong>Catalogue > Produits</strong> et vous verrez le bouton <strong>Exporter</strong> comme indiqué dans la capture d'écran ci-dessous. </p>
<p><img src="https://img.php.cn/upload/article/000/465/014/169358168749638.png" alt="创建用于导出产品 CSV 文件的 OpenCart 工具"></p>
<h3>2. Exporter des produits</h3>
<h4>Contrôleur 2.1</h4>
<ol>
<li> Accédez à <code class="inline">(您的opencart商店目录)/admin/controller/catalog/product.
. public function exportCSV(){ }
.
$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
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.
« 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!