Статьи

Создание инструмента экспорта CSV-продукта в OpenCart

Если вы управляете интернет-магазином или каким-либо веб-бизнесом и не знаете важности CSV (Comma-Separated-Value), то пришло время обновить ваши знания об обработке данных. Чтобы понять его важность, давайте рассмотрим сценарий с участием магазина OpenCart и посмотрим, как создать инструмент экспорта продукта CSV в качестве решения.

Предположим, у вас есть интернет-магазин, содержащий тысячи товаров, и вы должны изменить все цены на товары для специального мероприятия. Возможны два варианта решения:

  1. Зайдите в Панель управления (Панель управления) Товаров и вручную измените цены по очереди.
  2. Предоставьте соответствующему человеку прямой доступ к базе данных и позвольте ему или ей играть с вашими данными.

В первом случае, когда вам нужно менять цены товаров по очереди, следуя пользовательскому интерфейсу, предоставленному Административной панелью магазина, это безопасный способ, но изменение тысяч цен на товары может занять много времени — вероятно, несколько недель для больших объемов данных.

Во втором случае, когда вы предоставляете прямой доступ к базе данных вашего магазина, это может быть проблемой безопасности. Иногда могут возникнуть серьезные проблемы, которые могут привести к поломке вашей системы.

Поэтому должен существовать механизм форматирования элементов, и вы можете напрямую импортировать / экспортировать его в свою систему. CSV является лучшим решением. Вот что мы собираемся сделать в нашем уроке.

CSV — это краткая форма значения, разделенного запятыми. Это способ форматирования информации, которая извлекается из базы данных, чтобы ее можно было читать и редактировать в обычном программном обеспечении для работы с электронными таблицами. Затем вы можете добавить информацию обратно в вашу базу данных одним большим лотом.

Учитывая вышеописанный сценарий, иногда сложно добавлять и редактировать продукты оптом, поэтому мы собираемся создать в системе инструмент экспорта CSV. Таким образом, мы можем иметь все продукты в определенном формате, чтобы мы могли легко читать, добавлять и редактировать информацию позже. Давайте начнем создавать инструмент экспорта в первую очередь.

  1. Перейдите к (your opencart store directory)/admin/controller/catalog/product.php .
  2. Найдите getList() .
  3. Добавьте следующую строку после этой строки кода:
1
2
$this->data[‘products’] = array();
$this->data[‘export_csv’] = $this->url->link(‘catalog/product/exportCSV’, ‘token=’ . $this->session->data[‘token’] . $url, ‘SSL’);

Контроллер просто анализирует URL экспорта в представлении, чтобы его можно было связать кнопкой.

  1. Перейдите к (your opencart store directory)/admin/view/template/catalog/product_list.tpl .
  2. Найдите HTML: <div class="buttons"> .
  3. Добавьте кнопку экспорта HTML:
1
<a onclick=»location = ‘<?php echo $export_csv; ?>'» class=»button»>Export CSV</a>

Перейдите в панель администратора вашего магазина и выберите « Каталог»> «Продукты» , и вы увидите кнопку « Экспорт» , как показано на следующем снимке экрана.

Кнопка «Экспортировать» в панели администратора магазина OpenCart
  1. Перейдите к (your opencart store directory)/admin/controller/catalog/product.php .
  2. Создайте новую публичную функцию, т.е. public function exportCSV(){ } .
  3. Внутри функции просто добавьте следующие строки кода.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$this->load->model(‘catalog/product’);
 
$temp_data = $this->model_catalog_product->getProducts(array(‘filter_status’=>1));
 
/* CSV Header Starts Here */
 
header(«Content-Type: text/csv»);
header(«Content-Disposition: attachment; filename=ProductsCSV-«.date(‘dm-Y’).».csv»);
// Disable caching
header(«Cache-Control: no-cache, no-store, must-revalidate»);
header(«Pragma: no-cache»);
header(«Expires: 0»);
 
/* CSV Header Ends Here */
 
$output = fopen(«php://output», «w»);
 
$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);
}
 
fclose($output);

Ну вот! Вы создали инструмент экспорта продукта для панели OpenCart. Просто нажмите на кнопку экспорта, и файл CSV будет загружен на ваш компьютер. Вы можете добавить столько столбцов, сколько хотите.

«Время — золото.» Как предприниматель или владелец бизнеса, вы не хотите тратить свое драгоценное время. Что касается программного обеспечения, предприниматели всегда ищут лучший и наиболее эффективный подход для выполнения работы.

Поэтому в этом руководстве мы создали бизнес-инструмент, который может помочь быстрее и проще экспортировать информацию о продукте из OpenCart с использованием формата данных CSV. Я также собираюсь написать учебник о «Импорте CSV», чтобы мы могли легко добавлять и обновлять информацию в соответствии с нашими требованиями.

Я надеюсь, что вы найдете эту статью полезной для вашего бизнеса. Пожалуйста, предоставьте ваши ценные комментарии ниже. Благодарность!