Створення в OpenCart інструменту експорту товарів в CSV

356

Від автора: якщо у вас є інтернет-магазин або який-небудь інший веб-бізнес, і ви не знаєте, наскільки корисним може бути CSV OpenCart, прийшов час оновити ваші знання про роботу з даними. Щоб зрозуміти важливість цього аспекту, давайте розглянемо сценарій для інтернет-магазину на OpenCart і створимо інструмент експорту товарів в CSV-файл.

Припустимо, у вашому інтернет-магазині існують тисячі позицій номенклатури, і вам потрібно змінити всі ціни товарів для спеціального події. Є два можливих рішення:

Перейти в панель управління (панель адміністрування) товарами і вручну змінити ціни одна за одною.

Надати відповідній особі прямий доступ до бази даних і дозволити йому чи їй попрацювати з вашими даними.

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

Створення в OpenCart інструменту експорту товарів в CSV

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

У другому випадку, коли ви надаєте прямий доступ до бази даних магазину, це може бути небезпечно. Іноді виникають серйозні проблеми, які можуть призвести до збою всієї системи.

Яке рішення?

Таким чином, повинен існувати механізм, за допомогою якого елементи, можна відформатувати певним чином, а потім безпосередньо імпортувати / експортувати їх в систему пакетно. CSV (Comma-Separated Value) — це краще рішення для таких цілей. І це саме те, про що ми розповімо в цьому керівництві.

Що таке CSV?

CSV — це скорочення від «Comma Separated Value» (розділені через кому значення). Це спосіб форматування інформації, яка витягується з бази даних, щоб її можна було читати і редагувати у звичайній програмі для роботи з електронними таблицями. Потім ви можете додати цю інформацію в базу даних всією партією.

Експорт продуктів в OpenCart

Враховуючи описаний вище сценарій, іноді складно додавати і редагувати товари пакетно, тому ми збираємося створити в системі Інструмент експорту в CSV. Таким чином ми можемо отримати список всіх товарів у визначеному форматі, щоб можна було легко читати, додавати і редагувати інформацію. Давайте приступимо до створення інструменту експорту.

1. Кнопка експорту на сторінці товарів

1.1 Контролер

Відкрийте файл (директорія вашого магазину на 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’);

Контролер просто аналізує URL-адресу експорту, щоб його можна було пов’язати з кнопкою.

1.2. Подання

Відкрийте файл (директорія вашого магазину на opencart)/admin/view/template/catalog/product_list.tpl. Знайдіть HTML-код:

Додайте в розмітку кнопку експорту:

Export CSV

Перейдіть в панель адміністрування магазину і відкрийте розділ «Каталог»> «Товари», ви побачите в цьому розділі кнопку «Експорт», як показано на наступному скріншоті.

Створення в OpenCart інструменту експорту товарів в CSV

Експорт товарів

2.1 Контролер

Відкрийте файл ((директорія вашого магазину на opencart)/admin/controller/catalog/product.php. Створіть нову публічну функцію public function exportCSV(){ }. Всередині функції просто додайте наступні рядки коду.

$this->load->model(‘catalog/product’); // Завантаження Моделі Товарів
$temp_data = $this->model_catalog_product->getProducts(array(‘filter_status’=>1)); // Захоплення всіх товарів, для яких заданий статус Доступний
/* Початок заголовка CSV */
header(“Content-Type: text/csv”);
header(“Content-Disposition: attachment; filename=ProductsCSV-“.date(‘d-my’).”.csv”);
// Відключаємо кешування
header(“Cache-Control: no-cache, no-store, must-revalidate”); // HTTP 1.1
header(“Pragma: no-cache”); // HTTP 1.0
header(“Expires: 0”); // Проксі
/* Кінець заголовка CSV */
$output = fopen(“php://output”, “w”); //Відкриває і очищає вміст файлу, або створює новий файл, якщо він ще не існує
$data = array();
// Нам не потрібно експортувати всю доступну інформацію, тому створюємо розділений масив цієї інформації
foreach($temp_data as $data)
{
$data[] = array(
‘product_id’ =>$data[‘product_id’],
‘model’ =>$data[‘model’],
‘name’ =>$data[‘name’],
‘кількість’ =>$data[‘quantity’],
);
}
// Експорт CSV
foreach($data as $row)
{
fputcsv($output, $row); // тут ви можете змінити роздільник / символ закриття
}
fclose($output); // Закриваємо файл

От і все! Ми створили інструмент експорту відварів з панелі OpenCart. Просто натисніть кнопку експорту, і CSV-файл буде завантажений на ваш комп’ютер. Ви можете додати стільки стовпців, скільки вам потрібно.

Висновок

«Час — золото.» Як підприємець або бізнесмен, ви не хочете витрачати свій дорогоцінний час. Що стосується програмного забезпечення, підприємці завжди шукають кращий і найбільш ефективний підхід до виконання роботи.

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

Сподіваюся, ви знайшли цю статтю корисною для свого бізнесу. Дякую за увагу!

Створення в OpenCart інструменту експорту товарів в CSV

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення