WordPress-плагин • Версия 0.3.10

DeadTools ZipTrading XLSX Catalog

Специализированный плагин импорта и экспорта каталога ZipTrading в формате XLSX. Добавляет в административный каталог товаров отдельные разделы «Экспорт» и «Импорт» для типа записи zt_product.

НАЗНАЧЕНИЕ

Специализированный плагин импорта и экспорта каталога ZipTrading в формате XLSX. Добавляет в административный каталог товаров отдельные разделы «Экспорт» и «Импорт» для типа записи zt_product.

ЭКСПОРТ XLSX

  1. Позволяет выбирать, какие категории и товары выгружать.
  2. Поддерживает выбор статусов товаров.
  3. Можно выбрать отдельные поля вместо фиксированного полного набора.
  4. Можно отдельно выбирать технические характеристики; доступные характеристики фильтруются по выбранным категориям с учётом общих/наследуемых параметров.
  5. Поддерживаются товары без категории.
  6. Два режима структуры XLSX:
  • «По листам» — основные категории первого уровня выгружаются на отдельные листы;
  • «Одним листом» — выбранные товары объединяются на листе «Все товары».
  1. Есть режим выгрузки/пропуска полностью пустых выбранных столбцов.
  2. Экспорт читает данные каждого товара в единый снимок, после чего XLSX собирается из временных данных пакетно.
  3. В файл могут попадать WordPress ID, основные поля записи, данные товара, артикулы, цены, наличие, бренд, категории, фотографии, галерея, сертификаты, файлы, связанные товары, SEO и характеристики — в зависимости от выбранных полей.
  4. Внутри XLSX создаётся скрытый лист _meta с технической картой полей, характеристик, категорий, листов и параметров экспорта.
  5. Готовые XLSX сохраняются постоянно, отображаются в истории и имеют прямые ссылки на скачивание.
  6. История поддерживает одиночное и массовое удаление файлов.
  7. Готовый XLSX проходит проверку безопасности: отклоняются формулы, макросы, ActiveX, OLE, внешние Excel-связи и запрещённые relationship.

ИМПОРТ XLSX

  1. Перед фактическим импортом выполняется анализ файла и обязательное сопоставление столбцов.
  2. Известные столбцы распознаются автоматически; неизвестные требуют ручного выбора поля или явного «Не импортировать».
  3. Для XLSX, созданных этим же экспортёром, технические ключи читаются из скрытого _meta отдельно по листу и позиции колонки.
  4. Это позволяет различать характеристики с одинаковыми видимыми названиями.
  5. Для многолистового файла сопоставление показывается по отдельным вкладкам листов.
  6. Главный идентификатор товара — WordPress ID.
  7. Если товар с таким ID существует, обновляется он.
  8. Если ID свободен, новый товар может быть создан с этим ID через штатный import_id WordPress.
  9. Если ID занят записью другого типа, чужая запись не изменяется; товар создаётся с другим свободным ID.
  10. Если WordPress ID пуст, создаётся новый товар с автоматическим ID.
  11. Импортируются только столбцы, присутствующие в XLSX. Пустая ячейка очищает соответствующее импортируемое поле; отсутствующий столбец не затрагивает данные.
  12. Поддерживаются название, slug, статус, HTML-описания, артикулы, цены, наличие, бренд, категории, SEO, изображения, файлы, сертификаты, связанные товары и технические характеристики.
  13. Категории/бренд ищутся по ID, затем по slug/названию; отсутствующая иерархия категорий может восстанавливаться по полному пути.
  14. Изображения и сертификаты привязываются к существующим вложениям WordPress по URL без обязательной повторной загрузки.
  15. Повторяющиеся WordPress ID на разных листах импортируются один раз.
  16. Импорт выполняется пакетами через AJAX с отображением прогресса и возможностью безопасного прерывания.
  17. XLSX с формулами, макросами, ActiveX, OLE/вложениями или внешними Excel-связями отклоняются до импорта.

РЕЗЕРВНОЕ КОПИРОВАНИЕ В ЭТОЙ ВЕРСИИ

В версии из предоставленного бэкапа перед изменением первого товара импортёр автоматически создаёт обязательный ПОЛНЫЙ дамп текущей базы данных.

  • Импорт не начинает изменять товары, пока дамп не завершён.
  • Для дампа вычисляется и проверяется SHA-256.
  • Незавершённые копии очищаются и не попадают в историю.
  • Дампы сохраняются в защищённом каталоге и не удаляются обычной очисткой временных заданий.
  • В административной истории доступны скачивание, восстановление, одиночное и массовое удаление.
  • Восстановление выполняется пакетами через AJAX, чтобы уменьшить риск таймаута.

ВАЖНО

Этот текст описывает именно код версии 0.3.10 из предоставленного бэкапа. В нём резервная копия перед импортом является полным обязательным дампом БД.

ХРАНЕНИЕ И БЕЗОПАСНОСТЬ

  • Временные задания хранятся в защищённом системном каталоге.
  • Постоянные экспортированные XLSX хранятся отдельно от временных заданий.
  • Каталоги экспорта и резервных копий получают защитные серверные файлы/правила.
  • Имена листов нормализуются под ограничения Excel, включая 31 Unicode-символ.
  • Прямые ссылки на XLSX принудительно формируются через HTTPS.

ТЕХНИЧЕСКИЕ ЗАВИСИМОСТИ

Плагин рассчитан на структуру каталога ZipTrading и тип записи zt_product. Для работы с импортом используется собственный класс ZT_XLSX_Importer.

DeadTools ZipTrading XLSX Catalog

Скачайте актуальную сборку прямо с DeadTools.

Скачать v0.3.10