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

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

От автора: если у вас есть интернет-магазин или какой-либо другой веб-бизнес, и вы не знаете, насколько полезным может быть CSV OpenCart, пришло время обновить ваши знания о работе с данными. Чтобы понять важность этого аспекта, давайте рассмотрим сценарий для интернет-магазина на 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-код:

<div class="buttons">

Добавьте в разметку кнопку экспорта:

<a onclick="location = '<?php echo $export_csv; ?>'" class="button">Export CSV</a>

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

Экспорт товаров

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-m-Y').".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'],
 'quantity' =>$data['quantity'],
 
 );
 
}
 
// Экспорт CSV
foreach($data as $row)
{
 fputcsv($output, $row); // здесь вы можете изменить разделитель / символ закрытия
}
 
fclose($output); // Закрываем файл

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

Заключение

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

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

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

Автор: Zaman Riaz

Источник: http://code.tutsplus.com/

Редакция: Команда webformyself.

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

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

Приступить к созданию
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

OpenCart: быстрый старт, первые результаты

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

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree