Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cipta alat OpenCart untuk mengeksport fail CSV produk

Cipta alat OpenCart untuk mengeksport fail CSV produk

王林
王林asal
2023-09-01 23:21:16827semak imbas

Jika anda menjalankan kedai dalam talian atau mana-mana perniagaan web dan anda tidak mengetahui kepentingan CSV (Nilai Dipisahkan Koma), maka sudah tiba masanya untuk meningkatkan pengetahuan anda tentang manipulasi data. Untuk memahami kepentingannya, mari kita periksa senario yang melibatkan gedung OpenCart dan lihat cara alat eksport CSV produk boleh dibina sebagai penyelesaian.

Andaikan anda menjalankan kedai dalam talian dengan beribu-ribu item, dan anda perlu menukar harga semua item untuk acara istimewa. Mungkin terdapat dua penyelesaian yang mungkin:

  1. Pergi ke panel kawalan produk (panel pentadbir) dan tukar harga secara manual satu persatu.
  2. Beri orang yang berkaitan akses terus ke pangkalan data dan biarkan dia menggunakan data anda.

Dalam kes pertama, apabila anda perlu menukar harga item satu demi satu mengikut antara muka pengguna yang disediakan oleh panel pentadbir kedai, ini adalah kaedah yang selamat, tetapi menukar harga beribu-ribu item mungkin mengambil banyak masa - untuk sejumlah besar Data mungkin mengambil masa beberapa minggu.

Dalam kes kedua, isu keselamatan mungkin timbul apabila anda memberikan akses terus kepada pangkalan data kedai. Kadangkala, masalah serius boleh berlaku yang menyebabkan sistem anda ranap.

Apakah penyelesaiannya?

Jadi mesti ada mekanisme di mana projek boleh diformat dan anda boleh mengimport/mengeksport secara berkumpulan terus ke dalam sistem anda. CSV ialah penyelesaian terbaik. Itulah yang akan kita lakukan dalam tutorial.

Apakah itu CSV?

CSV ialah singkatan untuk "Nilai Dipisahkan Koma". Ia adalah kaedah memformat maklumat yang diambil daripada pangkalan data supaya ia boleh dibaca dan diedit dalam perisian hamparan biasa. Anda kemudian boleh menambah sejumlah besar maklumat kembali ke pangkalan data.

Eksport produk dalam OpenCart

Memandangkan senario di atas, kadangkala sukar untuk menambah dan mengedit produk secara pukal, jadi kami akan mencipta alat eksport CSV dalam sistem. Dengan cara ini kami boleh menyediakan semua produk kami dalam format tertentu supaya kami boleh membaca, menambah dan mengedit maklumat dengan mudah kemudian. Mari kita mulakan dengan membina alat eksport.

1. Butang eksport dalam halaman produk

1.1 Pengawal

  1. Navigasi ke (katalog kedai opencart anda)/admin/controller/catalog/product.php. (您的 opencart 商店目录)/admin/controller/catalog/product.php
  2. 找到 getList() 函数。
  3. 在此代码行后面添加以下行:
$this->data['products'] = array(); 
$this->data['export_csv'] = $this->url->link('catalog/product/exportCSV', 'token=' . $this->session->data['token'] . $url, 'SSL'); 

控制器只是将导出 URL 解析到视图,以便它可以与按钮链接。

1.2 视图

  1. 导航至 (您的 opencart 商店目录)/admin/view/template/catalog/product_list.tpl
  2. 找到 HTML:<div class="buttons">。 <li>添加导出按钮 HTML:</li> <pre class="brush:html;toolbal:false;">&lt;a onclick=&quot;location = '&lt;?php echo $export_csv; ?&gt;'&quot; class=&quot;button&quot;&gt;Export CSV&lt;/a&gt; </pre> <p>前往您商店的管理面板并选择<strong>目录>产品</strong>,您将看到<strong>导出</strong>按钮,如以下屏幕截图所示。</p> <p><img src="https://img.php.cn/upload/article/000/465/014/169358168749638.png" alt="创建用于导出产品 CSV 文件的 OpenCart 工具"></p> <h3>2.出口产品</h3> <h4>2.1 控制器</h4> <ol> <li>导航到<code class="inline">(您的opencart商店目录)/admin/controller/catalog/product.
  3. 创建一个新的公共函数,即 public function exportCSV(){ }
  4. Cari fungsi getList().
  5. Tambah baris berikut selepas baris kod ini:

  6. $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
    
Pengawal hanya menyelesaikan URL eksport ke paparan supaya ia boleh dipautkan dengan butang.

1.2 Pandangan

Navigasi ke (katalog kedai opencart anda)/admin/view/template/catalog/product_list.tpl.

Cari HTML: <div class="buttons">. 🎜Tambahkan butang eksport HTML: 🎜 🎜 rrreee 🎜Pergi ke panel pentadbir kedai anda dan pilih <strong>Katalog>Produk</strong> dan anda akan melihat butang <strong>Eksport</strong> seperti yang ditunjukkan dalam tangkapan skrin di bawah. 🎜 🎜<img src="https://img.php.cn/upload/article/000/465/014/169358168749638.png" alt="Buat alat OpenCart untuk mengeksport fail CSV produk">🎜🎜2 🎜 🎜2.1 Pengawal🎜 🎜 🎜 Navigasi ke <code class="inline">(katalog kedai opencart anda)/admin/controller/catalog/product.. 🎜 🎜Buat fungsi awam baharu, iaitu public function exportCSV(){ }. 🎜 🎜Di dalam fungsi, cuma tambah baris kod berikut. 🎜🎜 🎜 🎜 rrreee 🎜Inilah! Anda telah mencipta alat eksport produk untuk panel OpenCart anda. Cuma klik butang eksport dan fail CSV akan dimuat turun ke komputer anda. Anda boleh menambah seberapa banyak lajur yang anda perlukan. 🎜 🎜Kesimpulan🎜 🎜“Masa adalah emas.” Sebagai seorang usahawan atau pemilik perniagaan, anda tidak mahu membuang masa berharga anda. Apabila bercakap tentang perisian, usahawan sentiasa mencari cara terbaik dan paling berkesan untuk menyelesaikan kerja. 🎜 🎜Jadi, dalam tutorial ini, kami mencipta alat perniagaan yang membantu mengeksport maklumat produk daripada OpenCart dengan cara yang lebih pantas dan mudah menggunakan format data CSV. Saya juga akan menulis tutorial tentang "Import CSV" supaya kami boleh menambah dan mengemas kini maklumat dengan mudah mengikut keperluan kami. 🎜 🎜Saya harap anda mendapati artikel ini berguna untuk perniagaan anda. Sila berikan maklum balas berharga anda di bawah. Terima kasih! 🎜

Atas ialah kandungan terperinci Cipta alat OpenCart untuk mengeksport fail CSV produk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

php html public function 数据库
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Panduan Pengaturcaraan Yii2: Kaedah Menjalankan Perkhidmatan CronArtikel seterusnya:Panduan Pengaturcaraan Yii2: Kaedah Menjalankan Perkhidmatan Cron

Artikel berkaitan

Lihat lagi