Вам не нужен подход Libreoffice, если вы используете WP All Import. Этот плагин позволяет напрямую отображать поля, а также устанавливать триггеры автообновления.
Все, что вам нужно сделать, - это создать шаблон импорта один раз с соответствующим отображением столбцов, а затем установить триггер для файла CSV поставщика, где бы вы ни загружали его.
Вам может значительно помочь добавление идентификатора поставщика в качестве вашего SKU варианта или в качестве альтернативного SKU с использованием атрибутов. Это даст вам отображение вариаций между таблицами 1: 1, и это все, что вы обновляете в любом случае. Таким образом, вы можете иметь разные названия продуктов, и, как правило, это плохое поле для исключения, если поставщик изменит его.
Если вы не используете премиум-версию этого плагина, которая допускает автоматический запуск, вы все равно можете сделать это без необходимости использовать LO в качестве посредника. (обратите внимание, что вам не нужен триггер, это просто, если вы не хотите проходить через процесс импорта с использованием вашего шаблона отображения каждый раз, когда изменяется CSV)
Загрузите файл sourcestock.csv в виде собственной таблицы в базе данных WP с помощью phpMyAdmin. (будьте осторожны, конечно)
Настройте запрос UPDATE, используя JOIN между таблицей wp_postmeta, которая содержит информацию об акциях и ценах для ваших вариантов, и новой таблицей поставщиков. См. Эту тему для простого обзора: https://dba.stackexchange.com/questions/21152/how-to-update-one-table-based-on-another-tables-values-on-the-fly
Если вы хотите автоматизировать это, вы можете настроить один или несколько триггеров на срабатывание каждый раз, когда вы повторно импортируете suppliertock.csv в эту таблицу. (обязательно импортируйте как обновление, а не как отдельную новую таблицу) Вам понадобится как минимум триггер UPDATE, чтобы установить акции и цену, как вы упомянули (а также любые другие изменяемые поля), но вы также можете захотеть вставить триггер для автоматического добавления новых продуктов, когда это делает поставщик, и, возможно, триггер DELETE, чтобы либо удалить прекращенные товары, либо использовать в качестве способа добавления «прекращенный» тег / атрибут, который также обнуляет запас / отмечает продукт на складе, но не удаляет его из вашей базы данных.
Вы также можете выполнить эту последнюю часть, возможно, более безопасным способом, используя PHP. (для обработки создания родительских продуктов сначала для новых дополнений)
Если вы используете встроенный импортер Woocommerce, я бы все равно пошел по пути phpMyAdmin с триггерами или без них. Попытка использовать LO для обработки специального CSV-файла импорта - это просто дополнительная работа. Конечно, вы не можете использовать Base для двух разных CSV-файлов или электронных таблиц, так как вы не можете выполнять запросы более чем к одной таблице с этим типом источника данных в LO. Вы застряли бы с чем-то вроде VLOOKUP и / или какими-то сложными операторами MATCH с вложенными IF. Также VLOOKUP требует смежных столбцов. Если поставщик решит добавить столбец между двумя нужными вам, все сломается. Подход SQL не сломается в этом случае.
По сути, любой из инструментов импорта выполняет какую-то функцию UPDATE JOIN, поэтому зачем сначала делать это в LO только для того, чтобы повторить все заново с помощью Wordpress? Я бы просто ОБНОВИЛ СОЕДИНЕНИЕ один раз напрямую, используя supplier.csv и мою таблицу wp_postmeta.