Автор дополнения
Prihod
Пакетов
12
Закачек
2 000
Автор дополнения
Пакетов
12
Закачек
2 000
Версия 1.4.9-beta
Дата выпуска 08.06.2018
Загрузки 1 499
Просмотры 7 515
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.4 !

Компонент для импорта/экспорта товаров MiniShop 2 (не ниже 2.4.*) на сайт из/в CSV/XLSX, а также экспорт в Яндекс.Маркет.


Обсуждение дополнения в сообществе MODX.PRO.

Задавайте вопросы по настройке и эксплуатации платных дополнений.

Видео-обзор


Интеграция


msImportExport интегрирован с дополнениями:



Требования к структуре каталогов


Базовый каталог (категория) и все его подкаталоги должны быть типа «Товар категория». Каталогам будет считаться любая
«Товар категория» у которой нет родителя



Импорт товара


Файл импорта должен содержать как минимум 2 обязательных поля pagetitle и поле которое указанов в настройках импорта в
опции “Ключ товара, по которому определяется его уникальность” (по умолчанию “article”)


Описание настройки основных полей:

parent — может содержать как ID так и название (pagetitle) категории к которой относится товар, если для
товара не задано данное поле то в зависимости от настроек такой товар будет проигнорирован или же добавлен в базовый
каталог.
При указании в parent название категории в случае ее отсутствия на сайте она будет автоматически создана, можно
также указывать вложенные категории (начиная с базового каталога) разделяя их разделителем который указав в
настройках в поле “Дополнительный разделитель для полей типа JSON” (по умолчанию это | ) в таком случае если какой
то из категорий не будет она также будет создана. Пример Base category|category1|category2 в базовом каталоге (Каталог) будет создана
категория category1 которая будет содержать подкатегорию category2 которая будет использована в parent для товара.

categories — позволяет один и тот же товар отнести сразу к нескольким категориям в качестве значения
принимает названия (pagetitle) или ID. Можно указывать несколько категорий через разделитель который указав в настройках в
поле “Дополнительный разделитель для полей типа JSON” (по умолчанию это | ) в случае если какой то из категорий не
будет она также будет создана. Через 2-й дополнительный разделитель ( по умолчагию % ) можно указать вложенной для
дополнительной категории которая будет создана в случае отсутствия.
Пример:

parent;categories
        category1;sub_category1|sub_category2%sub_sub_category2
Товар будет создан в категории category1 но также будет доступен в подкатегории sub_category1 и sub_sub_category2

vendor — можно указать как ID так и название производителя, если производитель с заданным названием не будет
найден то он будет создан

gallery — путь к изображению для галерее может быть как локальный (относительно указанного в настройках импорта опция «Базовый директория для изображений») так и
http/https ссылкой на сторонний ресурс (при использовании http/https ссылк импорт происходит меделенней). Через
дополнительный разделитель (по умолчанию это | ) можно указать сразу несколько фото.

Пример:

assets/pic/pic2.jpeg|assets/pic/pic3.jpg

alias — данное поле как правило импортировать не нужно т/к он автоматически создается Modx на основании
значения из pagetitle отсюда следует, что pagetitle должно быть уникально относительно категории

Дополнительные опции и TV — импорт пользовательских опции и TV поддерживаются, если они в качестве значения
содержат список то данные нужно указывать через дополнительный разделитель (по умолчанию это | )
Пример импорт цвета для товара:
Зеленый|Красный



Импорт категорий

Вы можете сделать отдельно импорт чисто категорий товаров. Файл импорта должен содержать как минимум поля — pagetitle, parent и поле которое указанов в настройках импорта в
опции “Ключ товара, по которому определяется его уникальность”


parent может содержать как ID так и цепочки из названий (pagetitle) родительских категории разделенных разделителем который указав в
настройках в поле “Дополнительный разделитель для полей типа JSON” (по умолчанию это | ) в таком случае если какой
то из категорий не будет она также будет создана.


Пример:

pagetitle;parent
        category3;Base category|category1|category2
В этом примере category3 будет создана в category2 вся цепочка из parent так же будет создана



Импорт связей

Файл импорта должен содержать 3 поля:

  1. link — id связи из списка настроек связей minishop2

  2. master — id главного товара
  3. slave — id подчиненного товара


Если при импорте id главного и подчиненного товара могут не совопадать (файл импорта был получен в реультате экспорта с другого сайта)
то id можно заменить на любой другой идентификатор по которому можно будет найти товар, например article, после чего указать его название в настройках импорта в
опции “Ключ товара, по которому определяется его уникальность”


Пример:

link;master_article;slave_article
        1;00000100;00000200
        1;00000100;00000300



Импорт галереи

Поддерживается импорт как в родную галерею minishop2 так и в MS2Gallery верии 2.0 или выше. При использовании MS2Gallery в качестве галереии для товаров следует учесть тот момент, что MS2Gallery синхронизирует изображения с родной галерей minishop2 тоесть происходит дублировани информации о изображении в 2 таблице БД вследствии чего импорт происходит менленней чем если бы вы использовали родную галерею minishop2. Если вы веже решили использовать MS2Gallery то в настройках импорта следуете указать это в опции «Тип галереи» выбрав в выподающем списке «MS2Gallery».


Файл импорта должен содержать минимум 2 поля:

  1. идентификатор по которому можно будет найти товар (id, article и т/д). Его название следует указать в настройках импорта в
    опции “Ключ товара, по которому определяется его уникальность”

  2. file — путь к изображению для галерее может быть как локальный (относительно указанного в настройках импорта опция «Базовый директория для изображений») так и
    http/https ссылкой на сторонний ресурс (при использовании http/https ссылк импорт происходит меделенней)



Импорт для msOptionsPrice2

Если у вас установлен компонент msOptionsPrice2 версии 2.2.37 или выше
то у вас появится возможность импорта модификаций товара.


Название основных полей модификации:

  1. name — название модификации
  2. type — тип модификации цены может иметь значение 1|2|3 что соответствует =|+|и -
  3. price — цена
  4. old_price — старая цена
  5. article — артикул для модификации(не одно и тоже что и для товара)
  6. weight — вес
  7. count — количество
  8. image — изображение (должно содержать название изображения которое уже есть у товара)
  9. active — активна ли модификация, может принимать значение 0|1

Все поля которые могут быть использованы для модификации товара будут в выпадающем списке иметь постфикс "(msOptionsPrice2)".
Чтобы корректно работала функция «автоопределение полей» у полей которые относятся к модификации товара должен быть префикс «msop:».


Существует 2 возможности импорта модификаций товара:

  1. Импортировать только модификации товара (товар должен уже существовать). Для этого нужно в «Тип импорта» выбрать «Импорт OptionsPrice2». В файле должно обязательно присутствовать поле которое указано в опции «Ключ товара, по которому определяется его уникальность»)
    Пример файла импорта:
    article;msop:name;msop:type;msop:price;msop:active;msop:image;msop:time
                00000100;Замена дисплея и тачскрина;1;600;pic3.jpeg;2 часа
                00000100;Замена аккумулятора;1;700;;2 часа
    msop:time — пользовательская переменная которая может быть создана через дополнительные опции или систему плагинов
  2. Классический импорт товара, на ряду с обычными полями товара появятся поля у которых будет постфикс "(msOptionsPrice2)"
    Пример файла импорта:
    article;pagetitle;color;msop:name;msop:type;msop:price;msop:active;msop:image;msop:time
                00000100;Тестовый товар 1;Красный;Замена дисплея и тачскрина;1;600;pic3.jpeg;2 часа
                00000100;Тестовый товар 1;Красный;Замена аккумулятора;1;700;;2 часа
                00000200;Тестовый товар 2;Красный;;;;;


Каждый из способом имеет свои плюсы и минусы. Первый стоит использовать когда вы уверены что товар для которого вы делаете импорт модификаций уже существует. Второй стоит использовать кода товара может еще не быть. Минус 2-го варианта в том, что будет для каждой модификации одного и того же товара повторно будет происходить и обновление товара



Быстрое обновление данных товара


Быстрое обновление данных товара используется только для обновления данных непосредственно товара (таблица ms2_products) никакие TV и дополнительные опции не обновляются но обновляются данные добавленные через систему плагинов minishop2 или через дополнение msFieldsManager. Обновления происходит чисто через sql запросы к БД минуя процессоры modx. В файле с данными, для каждого товара должно обязательно присутствовать поле которое указана в настройках в опции “Ключ товара, по которому определяется его уникальность”.


Для числовых полей доступна следующие конструкции:

  1. +=число — текущее значение поля в БД увеличить на чисто
  2. -=число — текущее значение поля в БД уменьшить на чисто
  3. *=число — текущее значение поля в БД умножить на чисто
Пример файла обновления цены (увеличения текущей цены на 100):
article;price
    0000022;+=100



Экспорт


Перед тем как сделать экспорт необходимо для каждого типа экспорта сделать настройку полей которые вы хотите экспортировать.


Настройка полей делается на вкладке «Настройки экспорта» в разделе «CSV/Excel Файл» и состоит из следующих шагов:

  1. выбрать тип экспорта

  2. создать (если еще нет) название для настройки полей, для этого необходимо нажать кнопку с шестиренкой
  3. выбрать название настройки для полей в списке «Список настроек полей»
  4. добавить нужное количество полей, выбрать для них названия из выподающего списка после чего нажать на кнопку «Сохранить настройки»


После создания настройки полей можно приступить непосредственно к экспорту выбрав нужные значения из списков


Для экспорта модификаций товаров (msOptionsPrice2) в Яндекс.Маркет необходимо добавить название ваших полей (которые были созданы через дополнительные опции или систему плагинов) в настройках экспорта в список «Поля характеристик товара»



Сниппет MsieBtnDownloadPrice


MsieBtnDownloadPrice — cниппет для вывода кнопки скачивания прайс листа с фронтенда сайта


Параметры

  • tpl — чанк оформления для кнопки скачивания. По умолчанию msieBtnDownloadPriceTpl
  • usergroup — список групп (через запятую) пользователя, которым показывать кнопку скачивания.
  • res — список категорий, через запятую, для поиска результатов. По умолчанию выборка ограничена текущим родителем
  • preset — ID настройки полей экспорта. Если данный параметр не указан то в файле экспарта будут следующие поля: pagetitle,price и href
  • to — формат файла csv|xlsx. По умолчанию xlsx
  • filename — название файла
  • where — строка, закодированная в JSON, с дополнительными условиями выборки
Пример вызова сниппета с параметров where. В экспорт попадают товары цена которых > 0


[[MsieBtnDownloadPrice? &where=`{"Data.price:>":0}`]]


Повторное скачивание того же прайса может быть произведено только по истечению 3 минут. Изменить время блокировки скачивания прайс листа можно на странице системных настроек компонента /manager/?a=system/settings




CRON Импорт

  1. переходим в настройки импорта и находим там раздел “Cron”
  2. нажимает на кнопку “Добавить задачу” после чего в появившемся окне заполняем соответствующие поля (путь к файлу
    с данными для импорта может быть и http/https ссылкой; Времени выполнения задания указывается как в
    классическом cron)

  3. нажимает на кнопку сохранить
  4. добавляем адрес из “Задание для CRON” в cron у себя на сервере



CRON Экспорт

Для того чтобы сделать экспорт по cron необходимо дернуть следующею ссылку /assets/components/msimportexport/export/export.php которая принимает следующие параметры:

  1. token — уникальное значение которое можно узнать в настройках экспорта в разделе cron
  2. to — (csv|xlsx|xml) по умолчанию csv

  3. type — (products|categories|links|options_price2|gallery) по умолчанию products
  4. path — путь к директории куда будет сохранен файл по умолчанию assets/components/msimportexport/export
  5. preset — ID настройки полей экспорта
  6. filename — Название для файла (без расширения)
  7. categories — список через запятую ID категорий из которых нужно экспортировать товар (по умолчанию используются
    из общей настройки экспорта)
  8. save — сохранять на сервере по пути из параметра path или же вывести в поток вывода (1|0) по умолчанию 0


Пример ссылки экспорта продукта в xlsx через wget:

/assets/components/msimportexport/export.php?token=5321a3450db953783b7076a7e72072bb&to=xlsx&type=products&preset=1&save=0

Пример ссылки экспорта продукта в xlsx через консоль :
php  /assets/components/msimportexport/export.php token=5321a3450db953783b7076a7e72072bb to=xlsx type=products preset=1 save=1



События


Вы можете писать свои плагины подписывая их на события.


msieOnStartImportProduct — срабатывает перед стартам импорта
переменные:
file — путь к файлу импорта
msie — объект класса Msie, со всеми методами

msieOnBeforePrepareImportProduct — срабатывает перед началом обработки данных импорта, содержит следующие
переменные:
data — входные данные импорта
fields — массив названий полей импорта
msie — объект класса Msie, со всеми методами

msieOnEqualPageTitleImportProduct — срабатывает когда происходит добавление/обновления товара название которого (pagetitle) уже есть в том же каталоге (одинаковый родитель) Если это никак не обработать то modx сгенерирует ошибку
uri: Ресурс с идентификатором ID уже использует URI alias: Ресурс с идентификатором ID уже использует URI. Пожалуйста, введите уникальный псевдоним или используйте «Заморозить URI», чтобы вручную заменить его.
Переменные:
mode — действие (create|update)
productId — ID товара у которого дакой же pagetitle
srcData — входные данные импорта
destData — данные которые прошли подготовку для импорта (попадают в процессор импорта)
fields — массив названий полей импорта
msie — объект класса Msie, со всеми методами
Генерация данного события по умолчанию отключена в настройках импорта (опция “Проверять название товара на дублирование”) т.к она генерирует лишний запрос к БД, поэтому если вы уверен что у вас не будет одинаковых названий у товаров в пределах одного родителя то ее включать не стоит
Пример обработки такого события:

<?php
        /** @var modX $modx */
        switch ($modx->event->name) {
        case 'msieOnEqualPageTitleImportProduct':
        $postfixAliasFieldName = 'article';
        $destData = $modx->event->params['destData'];
        $postfixAlias = isset($destData[$postfixAliasFieldName]) ? $destData[$postfixAliasFieldName] : '';
        if ($postfixAlias && $destData['pagetitle']) {
        $res = $modx->newObject('modResource');
        $alias = $res->cleanAlias($destData['pagetitle']);
        $delimiter = $modx->getOption('friendly_alias_word_delimiter', null, '-');
        $destData['alias'] = $alias . $delimiter . $postfixAlias;
        $modx->event->returnedValues['skip'] = false; // не  пропускать импорт данного товара т.к был создан уникальный alias
        $modx->event->returnedValues['destData'] = $destData;
        }
        break;
        }

msieOnBeforeImportProduct — срабатывает перед импортом товара, содержит следующие переменные:
mode — действие (create|update)
srcData — входные данные импорта
destData — srcData данные которые прошли подготовку для импорта (попадают в процессор импорта)
fields — массив названий полей импорта
msie — объект класса Msie, со всеми методами

msieOnAfterImportProduct — срабатывает после импорта товара, содержит следующие переменные:
mode — действие (create|update)
srcData — входные данные импорта
destData — данные которые прошли подготовку для импорта
data — данные товара
fields — массив названий полей импорта
msie — объект класса Msie, со всеми методами

msieOnCompleteImportProduct — срабатывает после окончания импорта товаров, содержит следующие переменные:
data — строки с ID товарами через запятую которые были добавлены/обновлены
msie — объект класса Msie, со всеми методами


msieOnStartUpdateProduct— срабатывает перед стартам обновления товаровов, содержит следующие переменные:

fields — массив названий полей
preset — ID настройки полей
msie — объект класса Msie, со всеми методами


msieOnBeforePrepareUpdateProduct— срабатывает перед началом обработки данных, содержит следующие переменные:

data — входные данные
fields — массив названий полей
msie — объект класса Msie, со всеми методами

msieOnBeforeUpdateProduct— срабатывает перед началом обновления товара, содержит следующие переменные:

data —данные которые прошли подготовку дял обновления
fields — массив названий полей
msie — объект класса Msie, со всеми методами
Для того чтобы пропустить обновления товара в плагине можно присвоить переменной skip значение true
Пример:

<?php
        /** @var modX $modx */
        switch ($modx->event->name) {
        case 'msieOnBeforeUpdateProduct':
        $modx->event->returnedValues['skip'] = true; // пропустить обновление товара
        break;
        }

msieOnCompleteUpdateProduct— срабатывает после окончания обновления всех товаров, содержит следующие переменные:
msie — объект класса Msie, со всеми методами


msieOnStartImportOptionsPrice2 — срабатывает перед стартам импорта всех модификаций, содержит следующие переменные:
file — путь к файлу импорта
preset — ID настройки полей
msie — объект класса Msie, со всеми методами


msieOnBeforeImportOptionsPrice2 — срабатывает перед импортом модификации, содержит следующие переменные:
data — данные модификации
productId — ID товара
msie — объект класса Msie, со всеми методами


msieOnAfterImportOptionsPrice2 — срабатывает после импортом модификации, содержит следующие переменные:
data — данные модификации
productId — ID товара
msie — объект класса Msie, со всеми методами


msieOnCompleteImportOptionsPrice2 — срабатывает после окончания импорт модификаций, содержит следующие переменные:
msie — объект класса Msie, со всеми методами



msieOnCompleteImportGallery — срабатывает после окончания импорта в фото галерею, содержит следующие переменные:
msie — объект класса Msie, со всеми методами


msieOnCompleteImportLinks — срабатывает после окончания импорта связей, содержит следующие переменные:
msie — объект класса Msie, со всеми методами


msieOnBeforeExport — срабатывает перед экспортом каждого элемента:
type — (products|categories|links|options_price2)
srcData — входные данные
destData — данные которые прошли подготовку
fields — массив названий полей
msie — объект класса Msie, со всеми методами

msieOnCompleteExport — срабатывает после окончания экспорта, содержит следующие переменные:
to — (csv|xlsx|xml)
type — (products|categories|links|options_price2)
file — путь к файлу
msie — объект класса Msie, со всеми методами



Пример плагина который только для нового товара модифицирует его цену перед созданием

<?php
    /** @var modX $modx */
    switch ($modx->event->name) {
        case 'msieOnBeforeImportProduct':
        if($mode == 'create') {
        $modx->event->params['destData']['price'] = $modx->event->params['destData']['price'] + 100;
        $modx->event->returnedValues['destData'] = $modx->event->params['destData'];
        }
        //$modx->event->returnedValues['skip'] = true; // пропустить импорт товара
        //$modx->log(modX::LOG_LEVEL_ERROR, print_r($modx->event->params, 1));
        //$modx->event->output('Error');
        break;
        }



Импорт больших файлов


Если ваши файлы импорта достаточно большие то возможно вам понадобится сделать предварительную настройку сетвара.
1) Отредактировать php.ini увеличив значения для upload_max_filesize и post_max_size
2) Увеличить timeout для Apache или Nginx
a) Nginx и PHP-FPM (В этом случае Nginx будет ждать 300 секунд)

http {
        ...
        fastcgi_connect_timeout 300s;
        fastcgi_send_timeout 300s;
        fastcgi_read_timeout 300s;
        ...
        }
b) Nginx используется как прокси-сервер (Nginx + Apache)
server {
        ...
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
        send_timeout 300s;
        ...
        }
Не забывайте перезапускать Nginx после изменения настроек: nginx -s reload
3) MySQL my.cnf
Увеличить значения для max_allowed_packet и wait_timeout
Не забывайте перезапускать MySQL


Примечание


Минимальные требования PHP не ниже 5.5.0; PHP extension — php_xml;php_zip


Задать вопрос/Поддержка

Если вы еще не купили дополнение и у вас есть вопросы то можете задать их на странице дополнения если вы уже купили то
потдержка осуществяется через
https://modstore.pro/cabinet/tickets/. Если
сообщение всязано с какой то ошибкой в работе то желательно сразу указать версию Modx,miniShop2,
pdoTools,msimportexport и php которую можно узнать /manager/?a=system/info, а также лог modx (сначала его почистить
сделать импорт или экспорт) и сервера


Видео-обзор




Обсуждение дополнения в сообществе MODX.PRO.

Задавайте вопросы по настройке и эксплуатации платных дополнений.

ImportExport 1.4.9

  • Исправлено: Экспорт в Excel

ImportExport 1.4.8

Предупреждение! Для этого обновления требуется PHP версии 5.6 или выше!

  • Добавлено: Дополнительное условие экспорта для каждой настройки полей
  • Изменено: Библиотека для работы с Excel

ImportExport 1.4.7

  • Улучшено: Экспорт изображения из msOptionsPrice2

ImportExport 1.4.6

  • Улучшено: Импорт msOptionsPrice2

ImportExport 1.4.5

  • Добавлено: Проверка названий полей импорта
  • Улучшено: Импорт msOptionsColor

ImportExport 1.4.4

  • Добавлено: Интеграция с msSalePrice V-1.2.0-beta2
  • Добавлено: Интеграция с msOptionsColor V-2.1.2-бета

ImportExport 1.4.3

  • Добавлено: Опция удаление всех изображений у товара перед импортом
  • Добавлено: Опция отключить все модификации (msOptionsPrice2) у товаров перед стартам импорта
  • Добавлено: Параметр "Ключ товара, по которому определяется его уникальность" для импорта через крон
  • Добавлено: События: msieOnStartUpdateProduct msieOnStartImportOptionsPrice2 msieOnBeforeImportOptionsPrice2 msieOnAfterImportOptionsPrice2 msieOnCompleteImportOptionsPrice2
    • Улучшено: Импорт alias (при обновлении если не указан alias будет использоваться старый)
    • Исправлено: Сброс пользовательских настроек импорта/экспорта при обновлении пакета
    • Исправлено: Редактирование заданий для импорта через крон
    • Исправлено: Исключение "[MsieExcelReader] Exception Row 2 is out of range (2 - 1)" из-за которого не срабатывают события окончания импорта из Excel

ImportExport 1.4.2

  • Добавлено: Импорт TV для категорий
  • Добавлено: Сниппет «MsieBtnDownloadPrice» для экспорта прайс листа с front-end сайта
  • Добавлено: Событие msieOnBeforeExport для Yandex.Market
  • Улучшено: Импорт изображений (использование параметров maxUploadWidth и maxUploadHeight)

ImportExport 1.4.1

  • Добавлено: Форматирование текста при импорте
  • Улучшено: Export в Яндекс.Маркет
  • Улучшено: Работа с контактами

ImportExport 1.4.0

  • Добавлено: Импорта/Экспорта галереи
  • Добавлено: Параметр «parents» (дерево имен родителей) для экспорта
  • Изменено: Импорт/Экспорт категорий
  • Изменено: Импорт/Экспорт связей

Внимание !! Перед использованием сделайте бэкап базы данных сайта. Если вы уже используете импорт/экспорт связей или категорий то необходимо сделать перенастройку. После обновления необходимо очистить кэш браузера.

ImportExport 1.3.10

  • Исправлено: Импорт TV (не происходит обнуление не импортируемых tv) для modx >= 2.5.4

ImportExport 1.3.9

  • Исправлено: Созданные категории

ImportExport 1.3.8

  • Добавлено: Интеграция с msOptionsPrice2 V-2.2.37 beta
  • Улучшено: Работа с категориями Важно!! После обновления компонента нужно очистить кэш браузера

ImportExport 1.3.7

  • Добавлено: Событие msieOnStartImportProduct
  • Добавлено: Поддержка тега "sales_notes" для Yandex.Market

ImportExport 1.3.6

  • Добавлено: Опция "полный путь к интерпретатору PHP"
  • Добавлено: Интеграция с SeoPro
  • Добавлено: Очистка поля "Описание" от HTML-тегов для Yandex.Market

ImportExport 1.3.5

  • Добавлено: Быстрое обновление товара
  • Добавлено: События msieOnEqualPageTitleImportProduct; msieOnBeforePrepareUpdateProduct; msieOnBeforeUpdateProduct; msieOnCompleteUpdateProduct; msieOnBeforeExport;
  • Добавлено: Экспорт рисунков с абсолютными путями
  • Добавлено: Параметр “filename” для экспорта через cron
  • Исправлено: Экспорт категорий для Яндекс.Маркет
  • Исправлено: Запуск импорта через крон из меню

ImportExport 1.3.4

  • Добавлено: Автоопределение полей
  • Улучшено: Навигации по списку настроек полей
  • Исправлено: Установка контекста (web) по умолчанию

ImportExport 1.3.3

  • Добавлено: Событие msieOnBeforePrepareImportProduct
  • Добавлено: Очистка папки upload после импорта
  • Улучшено: Импорт TV (не происходит обнуление не импортируемых tv)
  • Исправлено: Error 42S02 executing statement: Table msie_cron doesn't exist

ImportExport 1.3.2

  • Исправлено: Error Using $this when not in object context

ImportExport 1.3.0

  • Изменение: Импорт по cron
  • Изменение: Экспорт по cron
  • Добавлено: TV переменные в список найстроки полей
  • Добавлено: События msieOnCompleteImportProduct и msieOnCompleteExport

Последние обсуждения в сообществе MODX.pro