Обновление Impex и Impex3
Всем привет.
Вышли версии 1.0.4 обоих пакетов с новыми полезными функциями.
Копирование существующей конфигурации
Теперь на обеих вкладках можно выбрать конфиг и скопировать его, нажав кнопку + (будет предложено ввести новое имя).
Удаление файлов
Раньше можно было удалить только всё сразу, теперь просто выбираем ненужный файл и жмём —.

OnImpexBeforeSetParentProduct
Теперь можно, получив данные из файла, преобразовать их как заблагорассудится и вернуть новую цепочку категорий для конкретной позиции.
OnImpexBeforeResourceImport
Теперь событие вызывается перед импортом всего ресурса. Можно поймать все входные данные и что-то добавить/заменить на уровне всего массива полей (например добавить товарам по какому-то условию дополнительное поле/значение, которого нет в исходном импортном файле).
OnImpexBeforeFieldImport
Событие принимает те же переменные, что раньше OnImpexBeforeResourceImport и заменяет его (если использовали просто переназначьте плагину).
Во все события плагинов добавлена переменная $config_name — имя файла конфигурации.
Соответственно, можно выполнять какую-то логику в зависимости от конфигурации.
Параметр category_id_field
Теперь можно указывать не цепочку категорий, а уникальный идентификатор. То есть если у вас, к примеру, в longtitle у категорий хранится какой ID (например из 1С) можно в файле в колонке «Категории» у ресурса не прописывать всю цепочку, а просто поставить ID родителя, а в конфиге прописать так:
Параметр skip_new
Удобно при обновлении цен, остатков и т. д. Просто пропишите true и скрипт будет пропускать новые ресурсы.
Документация тут и тут обновлена.
UPD: Перезалил версию для MODX Revolution (исправил ошибку в пакете при добавлении плагина и сниппета)
Вышли версии 1.0.4 обоих пакетов с новыми полезными функциями.
- Добавлена возможность копирования существующей конфигурации.
- Добавлена возможность удаления файлов по отдельности (конфигураций, файлов импорта/экспорта, бэкапов).
- Добавлено системное событие OnImpexBeforeSetParentProduct, вызываемое перед обработкой родительской категории.
- Добавлено системное событие OnImpexBeforeFieldImport, вызываемое перед импортом конкретного поля.
- Во все события плагинов добавлена переменная $config_name — имя файла конфигурации.
- Добавлен плагин Impex с примерами.
- В конфигурации добавлен параметр category_id_field для указания поля категории, содержащее её уникальный идентификатор.
- В конфигурации добавлен параметр skip_new, для пропуска при импорте отсутствующих на сайте позиций (только обновление существующих).
- В плагине на событие OnImpexAfterResourceImport (после импорта ресурса) теперь доступен массив $data со всеми загруженными данными.
- Исправлены небольшие ошибки + добавилась проверка версии PHP и MODX при установке.
Теперь на обеих вкладках можно выбрать конфиг и скопировать его, нажав кнопку + (будет предложено ввести новое имя).
Удаление файлов
Раньше можно было удалить только всё сразу, теперь просто выбираем ненужный файл и жмём —.

OnImpexBeforeSetParentProduct
Теперь можно, получив данные из файла, преобразовать их как заблагорассудится и вернуть новую цепочку категорий для конкретной позиции.
OnImpexBeforeResourceImport
Теперь событие вызывается перед импортом всего ресурса. Можно поймать все входные данные и что-то добавить/заменить на уровне всего массива полей (например добавить товарам по какому-то условию дополнительное поле/значение, которого нет в исходном импортном файле).
OnImpexBeforeFieldImport
Событие принимает те же переменные, что раньше OnImpexBeforeResourceImport и заменяет его (если использовали просто переназначьте плагину).
Во все события плагинов добавлена переменная $config_name — имя файла конфигурации.
Соответственно, можно выполнять какую-то логику в зависимости от конфигурации.
Параметр category_id_field
Теперь можно указывать не цепочку категорий, а уникальный идентификатор. То есть если у вас, к примеру, в longtitle у категорий хранится какой ID (например из 1С) можно в файле в колонке «Категории» у ресурса не прописывать всю цепочку, а просто поставить ID родителя, а в конфиге прописать так:
$impex_config['category_id_field'] = 'longtitle';
Параметр skip_new
Удобно при обновлении цен, остатков и т. д. Просто пропишите true и скрипт будет пропускать новые ресурсы.
Документация тут и тут обновлена.
UPD: Перезалил версию для MODX Revolution (исправил ошибку в пакете при добавлении плагина и сниппета)
Комментарии: 2
Привет! Очень круто, что продолжение идей CatalogFill воплощается в обновленном виде, с поддержкой нового минишопа и другими расширенными возможностями, вроде поддержки MIGX полей и др. Обязательно воспользуюcь при случае!
Пара моментов:
• Для impex3 в документации проверь префиксы таблиц, точно они ms2_?
• А почему выбрал CronManager вместо «нативного» в экосистеме с MiniShop компонента Scheduler и планируется ли поддержка последнего в будущем?
Пара моментов:
• Для impex3 в документации проверь префиксы таблиц, точно они ms2_?
• А почему выбрал CronManager вместо «нативного» в экосистеме с MiniShop компонента Scheduler и планируется ли поддержка последнего в будущем?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.