Загрузка товаров в формате *.xlsx в базу данных (MySQL) Opencart 3x

Загрузка товаров в формате *.xlsx в базу данных (MySQL) Opencart 3xАННОТАЦИЯ: Загрузка товарной номенклатуры в формате *.xlsx в базу данных (MySQL) Opencart 3x. Разработано Web-приложение на PHP, позволяющее осуществлять импорт товаров с помощью файлов Microsoft Excel в соответствующие таблицы MySQL. Для парсинга файлов Excel применяется модуль PHPExcel-1.8, распространяемый в открытом доступе. Отличительной особенностью php-приложения является дополнительная таблица MySQL "checksum_xlsx", наличие которой значительно сокращает затраты времени на обработку xlsx-файлов больших размеров..

Web-приложение предназначено для загрузки (импорта) xlsx-файлов товарной номенклатуры в электронный магазин Opencart. Приложение состоит из двух отдельных модулей. Первый модуль - свободно (бесплатно) распространяемый модуль PHPExcel-1.8, обеспечивающий собственно upload и парсинг xlsx-файлов, а второй модуль представляет собой небольшой php-скрипт для размещения данных полей xlsx таблицы в соответствующих таблицах Opencart БД MySQL. Образец карточки товара в формате *.xlsx Microsoft Excel имеет минимальный и достаточный набор полей (см. Рис.1) для функционирования интернет магазина в сфере выполнения задач электронной коммерции. При необходимости, несложный php-скрипт с открытым кодом, позволяет наращивать количество полей (см. Доп.поле на рис.1).

Пример файла загрузки Excel в формате *.xlsx
Рис. 1. Пример файла загрузки Excel в формате *.xlsx


Отличительной особенностью web-приложения является дополнительная таблица MySQL "checksum_xlsx" (см. Рис.2), наличие которой значительно сокращает затраты времени на обработку xlsx-файлов больших размеров. Эта таблица представляет собой буфер обмена данными между php-скриптом и таблицами Opencart БД MySQL. Буферная таблица имеет три поля данных - "category_id", "sku" и "len_sum". Поле "category_id" содержит ID категорий интернет-магазина, поле "sku" является уникальным артиклем товарной позиции, а поле "len_sum" представляет собой контрольную сумму строки xlsx таблицы. При очередной загрузке товаров выполняется сравнение контрольных сумм (КС). Если КС осталась прежней, то обращения к таблицам Opencart БД MySQL не происходит.

Дополнительная таблица БД Opencart 3x
Рис. 2. Дополнительная таблица БД Opencart 3x


Ссылку на web-приложение удобно разместить на "Панели состояния" электронного магазина Opencart 3x в шаблоне административной части, например как это показано на рис.3. При открытии web-приложения в браузере раскрывается форма с двумя выпадающими списками (см. Рис.4). Один список соответствует выбору категории Opencart 3x из таблицы MySQL "oc_category_description", а второй позволяет выбрать Excel файл из директории "files_excel". Собственно web-приложение "parse_excel_to_mysql_multi_catalog.php" располагается в директории "admin" Opencart. Для отладки web-приложения предусмотрен режим включения "Execute switch to MySQL" с заданием одно из двух состояний "yes" или "no" в файле параметров "parse_params.php".

Панель состояния Opencart 3x
Рис. 3. Панель состояния электронного магазина Opencart 3x


Вид web-приложения в браузере
Рис. 4. Вид web-приложения в браузере


Скачать архив *.zip [5Mb] web-приложения можно по ссылке "Загрузка товаров в формате *.xlsx в Opencart". Для установки web-приложения на серверe, необходимо выложить все папки и файлы, в том порядке, в котором они сохранены в архиве *.zip. В файле "privat_serverdata.php" отредактировать параметры доступа к MySQL. В файле ".htaccess" в папке "/public_html/admin/" прописать полный путь к файлу ".stat". Параметры доступа к web-приложению: "user:admin, pass:12345".