Пропустить контент
Купить

Импорт каталога из iiko

Импорт — основная функция Woo2iiko. Плагин выгружает номенклатуру из iiko и создаёт товары в WooCommerce.

Источники номенклатуры

iiko может отдавать меню двумя способами (настройка menu_source):

ИсточникНастройкаОписание
Office nomenclaturemenu_source = officeНоменклатура организации (по умолчанию).
External menumenu_source = externalВнешнее меню iiko. Нормализуется в формат office через ExternalMenuNormalizer.

Режимы импорта

Smart-импорт (cron)

Включён по расписанию iiko_import_products (интервал iiko_import_time, по умолчанию 5 минут):

  • Перед импортом сверяется revision номенклатуры.
  • Если revision не изменился — импорт пропускается (экономия запросов).
  • Если изменился — импортируются только изменения.

Smart-импорт для актуальности

После первичного импорта оставьте smart-импорт включённым — каталог будет автоматически актуальным.

Пошаговый импорт (mode=default)

  • Импортирует по 1 товару за AJAX-запрос.
  • Continuation через счётчик import_counter.
  • Подходит для небольших каталогов и отладки.

Фоновый импорт (mode=background)

  • Ставит товары в очередь BackgroundImport.
  • Обрабатывает в фоне через WP Background Processing.
  • Рекомендуется для больших каталогов — нет таймаутов PHP.

Полный импорт (run_full_import)

  • Обновляет номенклатуру и ставит ВСЕ товары в очередь.
  • Используется для полной пересборки каталога.

Что происходит при импорте одного товара

  1. Получение данных товара из iiko (через Api::get_nomenclature()).
  2. Поиск существующего товара WC (по iiko_id, по SKU, или по title если check_product_by_title = yes).
  3. Создание или обновление товара:
    • Название, описание (полное/краткое).
    • Цена, регулярная цена.
    • Категория (привязка product_cat_iiko).
    • Изображения (через ImageManager, с дедупликацией по хешу).
    • Модификаторы (см. Модификаторы).
    • Meta iiko_id, allow_terminals и др.
  4. Создание вариаций (размеров) если не отключено (disable_variations).
  5. Сохранение meta iiko (update_meta).

Настройки импорта

Полный список настроек импорта

См. Справочник настроек импорта. Здесь — основные.

НастройкаНазначениеПо умолчанию
import_timeИнтервал smart-импорта (cron)5min
types_for_downloadТипы продуктов для импорта['service','dish','good']
menu_sourceИсточник менюoffice
disable_variationsОтключить вариации (размеры)no
update_only_priceОбновлять только ценуno
update_metaОбновлять iiko metayes
check_product_by_titleИскать дубликаты по titleno
no_import_updateНе обновлять существующие товарыno
last_img_onlyТолько последнее изображениеyes
exclude_group_modИсключить модификатор группы'' (выкл)

Фильтрация модификаторов

Модуль ModifiersFilter позволяет исключить один системный модификатор (например, «Стандартная порция») из всех товаров при импорте:

  • Настройка exclude_group_mod — ID модификатора.
  • Пусто = фильтрация отключена.

Настройка модификаторов

Дедупликация изображений

ImageManager дедуплицирует изображения по хешу:

  • Если изображение с таким хешем уже есть в медиатеке — оно переиспользуется.
  • При last_img_only = yes сохраняется только последнее изображение из списка.

WP-CLI для аудита изображений

bash
wp woo2iiko check_image_hashes   # проверить хеши
wp woo2iiko cleanup_images        # удалить потерянные изображения

Статус импорта

  • Виджет ImportWidget на дашборде — последний запуск, прогресс.
  • Счётчик завершённых импортов: counter_uploads.
  • Счётчик текущего шага: import_counter.
  • Логи: см. Логи.

Расширение (для разработчиков)

Импорт эмитит фильтры и действия для кастомизации:

  • iiko_product — модификация объекта товара (использует ModifiersFilter).
  • iiko_product_args — аргументы создания товара WC.
  • iiko_create_wc_product — после создания товара.
  • iiko_variation_args — аргументы вариации.
  • iiko_img_upload — загрузка изображения.
  • iiko_after_product_import — после импорта товара (использует WpML).

Хуки для разработчиков

Типичные проблемы

СимптомРешение
Импорт зависаетИспользуйте фоновый режим; увеличьте memory_limit.
Товары дублируютсяВключите check_product_by_title или проверьте SKU/iiko_id.
Изображения не грузятсяПроверьте доступ к URL изображений iiko; права на uploads.
Smart-импорт не обновляетПроверьте, что cron работает (см. Фоновые процессы).

Решение проблем импорта

См. также

WOO2IIKO © 2019 - 2026 Алексей Тихомиров.