首頁 >後端開發 >php教程 >建立用於匯出產品 CSV 檔案的 OpenCart 工具

建立用於匯出產品 CSV 檔案的 OpenCart 工具

王林
王林原創
2023-09-01 23:21:16877瀏覽

如果您正在經營線上商店或任何網路業務,並且您不知道 CSV(逗號分隔值)的重要性,那麼是時候升級您有關資料操作的知識了。為了了解其重要性,讓我們檢查一個涉及 OpenCart 商店的場景,並了解如何建立產品 CSV 匯出工具作為解決方案。

假設您正在經營一家包含數千種商品的線上商店,並且您必須為特殊活動更改所有商品的價格。可能有兩種可能的解決方案:

  1. 前往產品的控制面板(管理面板)並手動逐一更改價格。
  2. 為相關人員提供直接存取資料庫的權限,並讓他或她使用您的資料。

在第一種情況下,當您必須按照商店管理面板提供的使用者介面逐一更改商品價格時,這是一種安全的方法,但更改數千個商品價格可能會花費很多時間時間——對於大量數據可能需要幾週的時間。

在第二種情況下,當您提供對商店資料庫的直接存取權時,可能會出現安全性問題。有時,可能會發生嚴重問題,導致系統崩潰。

解決方案是什麼?

因此必須有一種機制可以對專案進行格式化,並且您可以將其直接批次匯入/匯出到您的系統中。 CSV 是最好的解決方案。這就是我們在教程中要做的事情。

什麼是 CSV?

CSV 是「逗號分隔值」的縮寫​​形式。它是一種對從資料庫中取出的資訊進行格式化的方法,以便可以在普通電子表格軟體中讀取和編輯該資訊。然後,您可以將大量資訊新增回資料庫。

OpenCart 中的產品匯出

考慮到上述場景,有時大量新增和編輯產品很困難,因此我們將在系統中建立一個 CSV 匯出工具。這樣我們就可以以特定的格式提供所有產品,以便我們以後可以輕鬆閱讀、新增和編輯資訊。讓我們先開始建立導出工具。

1。產品頁面中的匯出按鈕

1.1 控制器

  1. 導覽至 (您的 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. 在函數內,只需新增以下程式碼行。

$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

給你!您為 OpenCart 面板建立了產品匯出工具。只需點擊匯出按鈕,CSV 檔案就會下載到您的電腦。您可以根據需要新增任意數量的列。

結論

「時間就是黃金。」身為企業家或企業主,您不想浪費寶貴的時間。就軟體而言,企業家總是在尋找最好、最有效的方法來完成工作。

因此,在本教程中,我們創建了一個業務工具,可以幫助使用 CSV 資料格式以更快、更輕鬆的方式從 OpenCart 匯出產品資訊。我還將寫一篇關於“CSV導入”的教程,以便我們可以輕鬆地根據我們的要求添加和更新資訊。

我希望您發現本文對您的業務有所幫助。請在下面提出您的寶貴意見。謝謝!

以上是建立用於匯出產品 CSV 檔案的 OpenCart 工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Yii2程式設計指南:執行Cron服務的方法下一篇:Yii2程式設計指南:執行Cron服務的方法

相關文章

看更多