msImportExport

Компонент предназначен для импорта экспорта товаров для miniShop2

Импорт
Импорт происходит из CSV файла. На основании ключевого поля (которое указывается в настройках и по умолчанию имеет значение «article») будет происходить либо добавление нового товара, либо его обновление.

При добавлении нового товара если не указан для него родитель, то товар будет добавлен в базовую категорию.

Если в лог файле наблюдается ошибка типа «duplicate resource URI» то в настройках импорта вы можете активировать опцию «Обновить uri» это позволит вам автоматически исправить данную ошибку либо же если это не возможно сделать автоматически то в отчете вам будет выведена информация о документах которые вызывают эту ошибку.

Экспорт
Выгружать данные можно либо в CSV файл, либо в Яндекс.Маркет

Выгрузку данных можно организовать через CRON.

Подробности в видео-обзоре:
youtu.be/Ol_mTBPxneo
Prihod
30 декабря 2015, 11:29
12
34 181
+8
Поблагодарить автора Отправить деньги

Комментарии: 735

Павел Пустота
30 декабря 2015, 22:20
0
Компонент из разряда must have.
Очень не хватает выгрузки в xls/xlsx.
Картинки он также может импортировать в галерею?
    Prihod
    30 декабря 2015, 22:49
    0
    Очень не хватает выгрузки в xls/xlsx.
    Ну прикрутить это можно без проблем
    Картинки он также может импортировать в галерею?
    Да, т.к импорт в msImportExport это обертка над bezumkin.ru/modx/minishop2/import/2309/
      Павел Пустота
      30 декабря 2015, 23:10
      0
      Ну прикрутить это можно без проблем
      Значит ли это, что в ближайшем обновлении будет реализовано?
        Prihod
        30 декабря 2015, 23:11
        0
        да
          Павел Пустота
          30 декабря 2015, 23:36
          0
          Тогда буду ждать. Купил.

          Да, т.к импорт в msImportExport это обертка над
          Я так понимаю поле image для этого? Просто у меня в импорте это gallery.

          Мне не хватает таких настроек для импорта: template, published, hidemenu, show_in_tree.
          Они никак не задаются в настройках?

          А ещё у меня немного «кастомизированный» импорт на сайте — он связи товаров создаёт.
          Есть какой-то способ грамотно расширить импорт — не потеряв возможности обновляться?
            Prihod
            30 декабря 2015, 23:47
            +1
            Мне не хватает таких настроек для импорта: template, published, hidemenu, show_in_tree.
            Они никак не задаются в настройках?
            Название полей которых нет в выпадающем списке вы всегда можете в нем прописать вручную так же можете поступить и полем gallery
            А ещё у меня немного «кастомизированный» импорт на сайте — он связи товаров создаёт.
            Есть какой-то способ грамотно расширить импорт — не потеряв возможности обновляться?
            Пока способа расширить нет но если вы пришлете мне пример своего «кастомизированного» импорта то я могу попытаться на его основе сделать механизм расширения
Andrei Extra
31 декабря 2015, 04:38
0
Будет ли возможность сохранять конфигурации\пресеты?
    Prihod
    31 декабря 2015, 04:59
    +1
    Да, конфигурация сохраняется
Prihod
02 января 2016, 17:47
0
Добавил возможность выгружать данные в XLS/XLSX. В настройках экспорта в XLS/XLSX можно включить опцию вставки изображения для полей (image;thumb) содержащих ссылку на фото.
    Александр Москвин
    12 января 2016, 14:28
    0
    а если делаю экспорт, выбираю категории, а файл пустой, что может быть?
    соответственно, компонент сегодня купил, потестить)
    yadi.sk/i/-7XuOUSEmqHyd
    Ошибка такая в логах
    [2016-01-12 13:13:02] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
    [2016-01-12 13:14:40] (ERROR @ /var/www/sokq5bc/data/www/xn--1-9sbl5ah.xn--p1ai/core/model/modx/processors/system/config_check.inc.php: 94) PHP warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set
      Prihod
      12 января 2016, 16:24
      0
      1) включите в настройках режим отладки
      2) в какой формат происходит экспорт
      3) у товара цена > 0?
      4) отмечать при экспорте подкатегории ее категории не обязательно, достаточно отметить подкатегорию после чего в экспорт попадут и ее подкатегори
        Александр Москвин
        12 января 2016, 18:27
        0
        1. сделал
        2. в csv
        3. да больше
        4. сделал.

        Если в core есть .htaccess с
        IndexIgnore */*
        <Files *.php>
        Order Deny,Allow
        Deny from all


        то пишет
        [2016-01-12 18:23:28] (ERROR @ /var/www/sokq5bc/data/www/xn--1-9sbl5ah.xn--p1ai/core/model/modx/processors/system/config_check.inc.php: 94) PHP warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set
        [2016-01-12 18:23:48] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:24:19] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass

        Если временно убрать .htaccess то пишет так:
        [2016-01-12 18:26:17] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:19] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:20] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:21] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:22] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:25] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:25] (ERROR @ /assets/components/msimportexport/connector.php) No class specified for loadClass
        [2016-01-12 18:26:32] (INFO @ /assets/components/msimportexport/export/export.php) Попытка установить лимит времени = 600 сек: done
        [2016-01-12 18:26:32] (INFO @ /assets/components/msimportexport/export/export.php) SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`article`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Vendor`.`id` AS `vendor.id`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties` FROM `site_content` AS `msProduct` LEFT JOIN `ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` WHERE ( `msProduct`.`class_key` = 'msProduct' AND `Data`.`price` > '0' AND ( `msProduct`.`parent` IN (163,164,165,166,161,162,160,159,171,172,175,176,179,169,168,167,188,170,173,174,177,178) OR `msProduct`.`id` IN (123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,144,145,146,147,156,157,187) ) ) GROUP BY msProduct.id ORDER BY msProduct.id ASC
        [2016-01-12 18:26:32] (INFO @ /assets/components/msimportexport/export/export.php) Array
        (
        [0] => Array
        (
        [id] => 123
        [type] => document
        [contentType] => text/html
        [pagetitle] => Джек Уайт
        [longtitle] => Джек Уайт
        [description] =>
        [alias] => jack-white
        [link_attributes] =>
        [published] => 1
        [pub_date] => 0
        [unpub_date] => 0
        [parent] => 119
        [isfolder] => 0
        [introtext] =>
        [richtext] => 1
        [template] => 5
        [menuindex] => 1
        [searchable] => 1
        [cacheable] => 1
        [createdby] => 1
        [createdon] => 1433406367
        [editedby] => 1
        [editedon] => 1450102255
        [deleted] => 0
        [deletedon] => 0
        [deletedby] => 0
        [publishedon] => 1433406360
        [publishedby] => 1
        [menutitle] =>
        [donthit] => 0
        [privateweb] => 0
        [privatemgr] => 0
        [content_dispo] => 0
        [hidemenu] => 0
        [class_key] => msProduct
        [context_key] => web
        [content_type] => 1
        [uri] => shop/men/futbolki/jack-white.html
        [uri_override] => 0
        [hide_children_in_tree] => 0
        [show_in_tree] => 0
        [properties] =>
        [article] =>
        [price] => 1490
        [old_price] => 0.00
        [weight] => 0
        [image] => /assets/images/products/123/t-jackwhite-grey.jpg
        [thumb] => /assets/images/products/123/255x255/t-jackwhite-grey.jpg
        [vendor] => 1
        [made_in] =>
        [new] => 0
        [popular] => 1
        [favorite] => 0
        [tags] => Array
        (
        [0] =>
        )

        [color] => Array
        (
        [0] => Серый
        [1] => Черный
        )

        [size] => Array
        (
        [0] => XS
        [1] => S
        [2] => M
        [3] => L
        [4] => XL
        )

        [source] => 2
        [vendor.id] => 1
        [vendor.name] => Небо1.рф
        [vendor.resource] => 0
        [vendor.country] => Россия
        [vendor.logo] =>
        [vendor.address] =>
        [vendor.phone] =>
        [vendor.fax] =>
        [vendor.email] =>
        [vendor.description] =>
        [vendor.properties] =>
        [idx] => 1
        )

          Александр Москвин
          12 января 2016, 18:29
          0
          Да и ещё нельзя ли лимиты вообще убрать, а сделать прерывисто по шагам,
          Допустим в настройках устанавливать,
          шаг 10 секунд или 5 секунд 1 шаг,
          иначе если сервер слабый, а товаров много толку от экспорта будет мало.

          Версия:
          miniShop2 2.2.0-pl2
            abelar
            23 января 2016, 01:20
            0
            Поддерживаю! Пользуемся modhost, там лимит что то около минуты, если не ошибаюсь. У товара около 20 доп полей, без gallery безумкинским решением за раз загружаю 100-120 товаров, а через модуль пока больше 50 не удавалось одним шагом. С выгрузкой на маркет в реальном времени или другую витрину у нас именно поэтому не получится, ок.8000 товаров, парсинг по шагам был бы идеальным
Александр Москвин
12 января 2016, 18:45
0
Потом ещё инструкцию для тех кто закрывает core .htaccess ом
    Prihod
    12 января 2016, 18:51
    0
    Александр, напиши мне в личку свой скайп, что бы мы могли нормально пообщаться, а потом решение тут запостим
Александр Москвин
13 января 2016, 15:20
0
Разобрались, Prihod активно и оперативно решал все вопросы.
1. Я забыл добавить доп. поля при экспорте (решили по умолчанию добавить поля id и pagetitle)
2. При выгрузке на моём хостинге
return realpath(sys_get_temp_dir());
sys_get_temp_dir() — срабатывал некорректно (/tmp) для экспорта в xls и xlsx

/var/www/sokq5bc/data/www/xn--1-9sbl5ah.xn--p1ai/core/components/msimportexport/model/msimportexport/lib/PHPExcel/PHPExcel/Shared/File.php: 175) PHP warning: realpath(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/sokq5bc/data)

По факту компонент работает, мелкофиксы будут учтены Prihodом в новой версии)
Владимир
13 января 2016, 17:21
+1
По случаю распродажи купил :)
Буду сравнивать с modimporter, хотя мне достаточно встроенного Василием в минишоп скрипта, но очень хочется найти то, что «менагерам» будет оптимально удобным.
Спасибо за участие вашего компонента в распродаже. Удачи вам.
    Prihod
    15 января 2016, 23:07
    0
    ну тогда с вас отчет о сравнении ))
      Владимир
      15 января 2016, 23:18
      +4
      Уже сейчас ясно, что MODxClub продает не скорее не коробочное решение, а именно скрипт+настройку (их силами) под конкретный проект.
Prihod
15 января 2016, 22:57
+4
Доступна новая версия msImportExport 1.0.5 в которой

Исправлено: Ошибка No class specified for loadClass

Добавлено: Импорт товара без родителя (если для нового товара не указан parent и выбрано в настройках «Да» то импорт такого товара будет пропущен и информация о нем добавлена в лог. Если выбрано «Нет» то товар будет добавлен к корневую категорию товаров)

Добавлено: Автоматическое создания категории для товара (если для нового товара указан родитель (параметр parent) но его не удалось найти то он будет автоматически создан с названием из parent в корневой категории)

Добавлено: Постобработка импорта (можно задать параметры в json-стиле которые нужно обновить для товара, не попавшего в импортируемый файл. Например: {«new»:0})

Все что добавлено настраивается в настройках импорта.
    abelar
    18 января 2016, 07:05
    0
    Спасибо за долгожданный модуль! Хотел бы поинтересоваться, а возможно ли сделать поля для массового импорта-экспорта связей товаров?
      Prihod
      18 января 2016, 12:14
      +1
      думаю да, нужно будет посмотреть как там и что
      Prihod
      22 января 2016, 19:49
      0
      а какую инфу о связях нужно экспортировать?
        abelar
        22 января 2016, 20:08
        0
        В идеале два столбца: Id связи, столбец со слейвами id slaves через запятую
          Prihod
          22 января 2016, 20:14
          0
          а как же master. Тогда нужно так
          ID-link;ID-master;ID-slave
          1;10;21
          1;10;22
            Prihod
            22 января 2016, 20:15
            0
            импорт тоже будет по такому принципу
              abelar
              23 января 2016, 01:09
              0
              Да, Вы правы! Хорошая новость
            mngatoff
            06 марта 2017, 05:29
            0
            Вечер добрый!
            что-то я плохо не понял. Экспорт связей происходит в виде ID-link;ID-master;ID-slave
            а импорт — только по артикулу главного товара… а почему так сложно всё? а как импортировать тоже по айди? или экспортировать по артикулу? а если артикулов нет на сайте? а почему slave нельзя по артикулу импортнуть, если на то пошло?..
              Prihod
              06 марта 2017, 10:38
              0
              а импорт — только по артикулу главного товара… а почему так сложно всё?
              C чего ты взял что импорт только по артикулу? укажи в настройках импорта в опции «Ключ товара, по которому определяется его уникальность» ID и импортируй по нем
    Klike
    18 января 2016, 09:00
    0
    Подскажите, возможен ли запуск импорта по крону?
      Prihod
      18 января 2016, 12:12
      0
      пока нет, где то ближе к среде сделаю
Prihod
18 января 2016, 14:13
0
в msImportExport 1.0.6 исправлен баг экспорта товара с 0 ценой, предложенное ранее решение с использованием доп. условия {«OR:Data.price:=«:0} приводило к тому что не учитывалось условие для выбранных категорий. Теперь по умолчанию выводится товар с любой ценой.
Prihod
22 января 2016, 01:33
0
В msImportExport 1.0.7
Исправлен баг c регистрам названий полей (для импорта/экспорта они должны были быть только в нижнем регистре)
Добавлена возможность импорта через cron

Prihod
24 января 2016, 13:48
+3
В msImportExport 1.0.8

-Исправлено: Экспорт в xls/xlsx полей с массивом
-Добавлено: Импорт/Экспорт связей для товаров
-Добавлено: Автоматическое создание производителей (теперь в поле производитель vendor можно указать не только ID но и его название и если такого производителя нет то он будет создан)
-Добавлено: Пошаговый импорт (теперь весь импорт разбиваться на n-шагов, и за каждый шаг импортируется m-товаров которое можно задать в настройках, по умолчанию 50)
Sany
28 января 2016, 13:25
0
А как дела с вложенными категориями? Создаются автоматически из файла с указанием названия в разных столбцах?
    Prihod
    28 января 2016, 13:40
    0
    вложенность категорий не обрабатывается
Rootiys
05 февраля 2016, 17:41
0
Что то у меня xlsx файлы не загружаются(
Такая загрузка вечно продолжается:


csv нормально загружаются.
    Prihod
    05 февраля 2016, 17:43
    0
    импорт только из CSV
      Rootiys
      05 февраля 2016, 18:16
      0
      Спасибо, понял.
Stan Ezersky
05 февраля 2016, 20:42
+2
Прикупил. Для заказчиков необходимая вещь.
Спасибо!
smillyhamster
02 марта 2016, 12:08
0
Добрый день!
А можете кто-нибудь показать пример файла для импорта? а то никак не получается импортировать… — либо висит на импорте, либо вот такая ситуация — prntscr.com/aa6649. То есть вроде бы обработал, но ничего не добавил в каталог. Уверен, что проблема не в компоненте, а в моих руках, поэтому и прошу рабочий файл.
Заранее спасибо!
    Rootiys
    02 марта 2016, 12:10
    0
    Из csv импортируете?
      Prihod
      02 марта 2016, 12:11
      0
      hi, скинь доступ в админку и файл импорта я посмотрю
      modstore.pro/cabinet/tickets/
        smillyhamster
        02 марта 2016, 12:19
        0
        Благодарю за оперативность! Сбросил доступы.
        И сразу еще вопрос — возможно ли импортировать TV-параметр?
        Заранее спасибо!
          Prihod
          02 марта 2016, 12:21
          0
          да, только нужно их в выпадающем списке указывать вручную с префиксам tv.id-переменной, например tv.10
            smillyhamster
            02 марта 2016, 12:24
            0
            Спасибо огромное! Это очень и очень удобно!!!
            smillyhamster
            02 марта 2016, 20:13
            1
            0
            Небольшая поправка, чтобы не запутать людей — для импорта ТВ необходимо указать его в формате tvid, то есть без точки. К примеру — tv3
      smillyhamster
      02 марта 2016, 12:13
      0
      Да, конечно. prntscr.com/aa67aw
      Ситуация, в общем такая — есть около 700 товаров, которые отличаются только фотографией. я Экспортировал список из трех вручную введенных файлов в CSV, продублировал строки, пропустив поле ID, чтобы не затиралось. но, видимо, что-то не так
        Prihod
        02 марта 2016, 12:28
        0
        я что то не вижу у тебя в сменю msImportExport + ты мне не прислал файл импорта
    smillyhamster
    02 марта 2016, 20:25
    0
    Урра! У меня все вопросы решились. Как и ожидалось, с компонентом все отлично, все вопросы были из-за собственной невнимательности. В итоге все работает отлично, за что спасибо автору дополнения.
    В общем, соберу все свои ошибки до кучи, возможно кому-то поможет.
    1. Кодировка utf-8
    2. При хтмл-тэгах в поле контента иногда подвисает (скорее всего даже не при самих тэгах, а из-за кавычек для объявления классов)
    3. Перепроверить id родителя, в который импортируется. После нескольких проб, ошибок и удалений у меня родителем стал товар и поэтому я в нем уже не мог увидеть загруженные товары.
    4. Все внимательно перепроверить еще раз. Автор дополнения — очень отзывчивый человек, в помощи не отказывает. и, если честно, мне аж неудобно от того, сколько я времени своей невнимательностью у него украл. А ведь это время могло быть потрачено на разработку нового полезного дополнения или какие-нибудь плюшечки для этого.
      Stan Ezersky
      02 марта 2016, 20:28
      0
      Прошу прощения, а что такое
      из-за кавычек для объявления классов
      ?

      А в целом, если бы прочитали второй комментарий на этой странице, сэкономили бы себе время :)
        smillyhamster
        02 марта 2016, 20:34
        0
        я вот про эти кавычки говорил, которые текстовый редактор подставил
        <p class="justifyleft"><span>
        Сначала попробовал вообще безо всех ХТМЛ-тэгов, а потом удалил все классы в абзацах и также все получилось.
Prihod
16 марта 2016, 18:03
+1
UPD: v1.0.11
Добавлена возможность использовать дополнительный разделитель при импорте для полей типа json, теперь не обязательно к примеру для поля size в CSV файле отводить отдельную колонку для разных размеров, можно указать все в одной использую дополнительный разделитель => M|L|XS
    Klike
    19 марта 2016, 08:21
    0
    Подскажите, пожалуйста, можно ли импортировать целиком из JSON файла? Там ссылки на картинки, наименования и много всего другого.
      Prihod
      19 марта 2016, 10:50
      0
      нет
mngatoff
18 марта 2016, 18:27
0
у меня принципиальный вопрос перед покупкой:
1. создается ли дерево категорий нескольких уровней вложенности?
2. импортируются ли картинки и кастомные опции miniShop2?
    Prihod
    18 марта 2016, 18:36
    0
    1) если речь идет о добавлении товара в подкатегорию то Да
    2) Да
      mngatoff
      18 марта 2016, 18:44
      0
      речь идет о добавлении подкатегории в категорию. Импорт категорий происходит? или дерево нужно самому создавать?
        Prihod
        18 марта 2016, 18:55
        +1
        если в параметре parent (категория) указан родитель в виде текста и такого родителя не будет найдено то он (родитель) будет создан в корневой категории и товар будет в него добавлен т.е происходит создание подкатегорий 1 уровня
          mngatoff
          18 марта 2016, 19:00
          0
          последний уточняющий…
          хочу так:
          категория 1 -> подкатегория 1 -> товар
          категория 1 -> подкатегория 2 -> товар
          категория 1 -> подкатегория 3 -> товар
          категория 1 -> подкатегория 4 -> товар

          категория 2 -> подкатегория 1 -> товар
          категория 2 -> подкатегория 2 -> товар
          категория 2 -> подкатегория 3 -> товар
          категория 2 -> подкатегория 4 -> товар
            Prihod
            18 марта 2016, 19:08
            0
            как я уже писал выше автоматического создание вложенных категорий больше первого уровня нет т.е будет создано так

            корневая категория -> подкатегория 1 -> товар
            корневая категория -> подкатегория 2 -> товар
            корневая категория -> подкатегория 3 -> товар

            но если категории существуют то импорт без проблем пройдет какая бы их вложенность не была
            mngatoff
            18 марта 2016, 19:16
            0
            Итак, правильно ли я понимаю: я могу указать при импорте, какой ресурс считать корнем?
            то есть, несколько корневых категорий — несколько файлов импорта с созданием подкатегорий
              Prihod
              18 марта 2016, 19:31
              0
              корневая категория не указывается, она автоматически определяется с расчетом того, что она может быть только одной
Prihod
30 марта 2016, 11:48
0
UPD: v1.1.0
-Добавлено: Импорт из XLS / XLSX файлов
-Добавлено: Экспорт pagetitle родителя
-Добавлено: Предварительные настройки для полей импорта / экспорта (для каждого типа импорта / экспорта можно создать свой список настроек полей. ВАЖНО! Те кто использует импорт/экспорт по cron должны обновить ссылку на скрипт т.к добавлена дополнительная переменная preset в которой указывается ID настройки полей)
-Исправлено: Импорт полей с HTML-тегами
    Stan Ezersky
    30 марта 2016, 11:51
    0
    О, крутые изменения, потестирую на днях

    Предварительные настройки для полей импорта / экспорта (для каждого типа импорта / экспорта можно создать свой список настроек полей
    Просто необходимый пункт!
Виталий
30 марта 2016, 17:29
0
здравствуйте
есть проблема при импорте (точнее даже при попытке обновить цену)
если загружать файл
article;price
4244240;32.00
то получаю ошибку
[2016-03-30 16:36:34] (ERROR @ /assets/components/msimportexport/connector.php) Ошибка для update: 
Array
(
    [0] => alias: Это поле обязательно для заполнения.
)
если изменить файл импорта на
article;alias;price
4244240;url-for-product;39.00
то товар обновляется.
подскажите почему без alias не работает?
    Prihod
    30 марта 2016, 17:31
    0
    поле pagetitle для товаров обязательно
      Виталий
      30 марта 2016, 17:51
      0
      а если я хочу только цену обновлять?
Виталий
30 марта 2016, 18:15
0
в чем может быть проблема?
при обновлении получаю в логе
Директория миниатю успешно создана/home/seoworld/mir-rybolova.com.ua/www/core/packages/thumb 
файлы загружаются в - /home/seoworld/mir-rybolova.com.ua/www/core/packages/
Настройки media source directory =>>>>> core/packages/
Настройки media source thumb_dir =>>>>> core/packages/thumb/
60 строка переменная  name ===>minishop2-2.2.0-pl2.transport.zip
82строка filename =/home/seoworld/mir-rybolova.com.ua/www/core/packages/minishop2-2.2.0-pl2.transport.zip
86 строка thumb_filename =/home/seoworld/mir-rybolova.com.ua/www/core/packages/thumb/minishop2-2.2.0-pl2.transport.zip
90 строка def_fn =minishop2-2.2.0-pl2.transport
Выход из скрипта: не допустимое расширение файла (проверьте настройки системы - файловая система) файлы загружаются в
    Prihod
    30 марта 2016, 20:34
    0
    ну этот лог явно не msImportExport генерирует
Николай
31 марта 2016, 23:50
0
Есть в планах создание импорта дерева категорий с параметрами?

Пусть в несколько прогонов, не так важно. Просто часто приходится обновлять категории в работе магазина.
    Prihod
    01 апреля 2016, 00:19
    0
    ну если нужно то могу прикрутить и эту опцию, а о каких параметрах идет речь?
Evgenii
04 апреля 2016, 22:27
0
У меня проблема, не могу сделать экспорт. Файл пустой, логи пустые.
Пробовал обновить плагин, зависает.
Консоль запущена…
Пробуем установить пакет с подписью: msimportexport-1.1.0-beta
Пакет найден… сейчас идёт подготовка к его установке.
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
Attempting to preserve files at /home/proglar/mydeco.com.ua/www/core/components/msimportexport into archive /home/proglar/mydeco.com.ua/www/core/packages/msimportexport-1.1.0-beta/modCategory/218ae334e480d973bed768c48e7fd7d8.0.preserved.zip
Attempting to preserve files at /home/proglar/mydeco.com.ua/www/assets/components/msimportexport into archive /home/proglar/mydeco.com.ua/www/core/packages/msimportexport-1.1.0-beta/modCategory/218ae334e480d973bed768c48e7fd7d8.1.preserved.zip

Пришлось сносить и снова ставить 1.0.10
    Prihod
    06 апреля 2016, 15:11
    0
    эта ошибка происходит из-за того что в modx файле /core/xpdo/om/mysql/xpdomanager.class.php on line 462 происходит ошибка при обработке индексных полей и вроде как она появляется в версии php 5.5. Я у себя пока убрал 1 индексное поле так что данная ошибка не должна появиться
Наумов Алексей
06 апреля 2016, 10:02
0
Кстати, я бы хотел предложить еще реализовать обновление товаров при импорте не посредством процессоров, а через простой set/save, для чего:
1. Это будет работать быстро, сейчас 500 товаров импортируются достаточно долго
2. В этом режиме можно оставить обязательным только 1 поле — ключ, по которому идет импорт.

Типовые сценарии: обновление цен товаров или остатков.

Т.е. что бы был выбор — используем процессоры или быстрое обновление товаров.
    Prihod
    06 апреля 2016, 11:03
    +2
    если бы это был обычный документ modx то в этом есть смысл, а так если делать не через процессор то придется брать на себя обработку miniShop2 ресурса, а там свои приколы
    Stan Ezersky
    06 апреля 2016, 11:35
    0
    Я по 1500 товаров заливаю и нормально
      Наумов Алексей
      06 апреля 2016, 11:39
      0
      Да заливается, не спорю, но достаточно долго =)
        Stan Ezersky
        06 апреля 2016, 13:08
        0
        А вы читали, что это надстройка над встроенным импортом из miniShop2? Он также срабатывает (импорт по времени).

        А из того, что хотите реализовать вы, есть расширение ImportX, покопайтесь (не очень мне понравился, но на паре проектов через него заливал статьи, новости и прочий текстовый контент, так что пригодился).

          Владимир
          06 апреля 2016, 13:18
          0
          Тогда уж лучше Catalogfill для обычных ресурсов. Давно приобрел и многократно пользовался.
Илья
06 апреля 2016, 10:56
0
Подскажите, с обычными ресурсами этот модуль работает, или только miniShop2?
    Prihod
    06 апреля 2016, 10:58
    0
    не только miniShop2
      Илья
      06 апреля 2016, 11:04
      0
      Извините, не совсем понял ответ:
      «не только miniShop2», или «нет, только miniShop2»

      ещё раз извиняюсь ))))
Антон
22 апреля 2016, 18:27
+1
Доброго дня, а можно ли рассчитывать, что будет реализована поддержка мультикатегорий при импорте или это только вручную?
    Prihod
    22 апреля 2016, 18:58
    0
    а можно ли рассчитывать, что будет реализована поддержка мультикатегорий при импорте
    не совсем понял, нужно что бы товар добавлялся в несколько категорий или создавалась вложенная структура категорий
      Антон
      22 апреля 2016, 19:13
      0
      В несколько категорий, но по факту товар находится в одной категории, но выводится он в нескольких. Там при редактировании товара можно галочкой помечать дополнительные категории. Доп категории записываются в MYSQL таблицу modx_ms2_product_categories в виде: id товара — id доп категории
        Prihod
        22 апреля 2016, 19:15
        +1
        в следующей версии будет
          Антон
          22 апреля 2016, 19:36
          0
          Спасибо огромное! Будем ждать.
Вадим Раевский
25 апреля 2016, 21:50
0
Добрый день!

Возможно, глупость напишу. Компонент приобрел — работает нормально. Но, необходимо импортировать много товаров (сейчас 16000, дальше 25000 новых и по нарастающей). Поставил время выполнения скрипта 60000 (шестьдесят тысяч) секунд. Обработка заканчивается ~ минут через 20, компонент не создает ресурсы, а просто «висит». Понимаю, что можно разбить файл на части (сейчас так и заливаю).

Возможно ли в будущих версиях реализовать построчную разбивку исходного прайс-листа и постепенную его загрузку? Или как-то возможно обойти все лимиты? Как на PHP реализовать такое не представляю вообще (Давно пробовал дописать в исходный импорт bezumkin'a используя flush() ). Напишу пример скрипта, который заливает нонстопом через консоль. Можно уйти, оставив компьютер включенным и он отработает.

#!/bin/bash

split ./import.csv -l 500 -d ./import/import.
rm ./import.csv
START=$(date +%s)
find ./import -type f | while read FILENAME; do
mv "./import/$FILENAME" `basename "/import/$FILENAME".csv`;

PSTART=$(date +%s)

php ./csv.php "/assets/import/$FILENAME" "parent,size,pagetitle,vendor,marka,kuzov,dvig,made_in,color,rul,introtext,old_price,gallery" 1 "pagetitle" 0 "^"
rm $FILENAME
sleep 15
PEND=$(date +%s)
PDIFF=$(( $PEND - $PSTART ))
echo "Часть обработана за $PDIFF"
sleep 10
done
END=$(date +%s)
DIFF=$(( $END - $START ))
echo "Общее время выполнения $DIFF"
Спасибо.
    Вадим Раевский
    26 апреля 2016, 02:09
    0
    Поставил в количестве загружаемых документов за итерацию 1, вроде, нонстопом получается *yahoo*
      Stan Ezersky
      26 апреля 2016, 10:02
      0
      Я по 30 ставлю и отлично всё «заливается»
    Вадим Раевский
    26 апреля 2016, 09:51
    0
    Подтверждаю. Прайс залился без остановок.
Prihod
07 мая 2016, 19:07
+3
UPD: v1.1.1
-Добавлено: Импорт товара в несколько категорий (в выпадающем списке нужно выбрать «Категории» в csv файле поле имеет вид “sub category1|sub category2” )

-Добавлено: Работа с множеством каталогов

-Добавлено: Вложенность n-го порядка для родителя (поле parent в csv файле может имееть вид “category1| category2” товар будет добавлен в category2, если какой либо категории из пути не будет она будет создана относительно базового каталога)

-Добавлено: Импорт/Экспорт категорий в csv.

Файл импорт имеет следующий вид:
Каталог;ЭКО и БИО Продукты|Техника для здорового питания
ЭКО и БИО Продукты;Бальзам и сироп
Техника для здорового питания;Проращиватели|Хлебопечки
Антон
10 мая 2016, 10:04
0
Спасибо большое за обновление. Такой вопрос, импорт дополнительных категорий работает только для последнего товара в списке, все остальные данные импортируются без проблем для всех товаров, включая parent, а вот доп категории только для последнего. В чем может быть проблема?
    Prihod
    10 мая 2016, 12:20
    1
    +1
    Проблема оказалась в том, что сначала происходит удаления товара из всех под категорий через removeCollection а потом добавление в нужные и вот почему removeCollection не учитывало условие на выборку только под категорий текущего продукта и удаление происходило для всех товаров. В общим исправленный пакет перезалил
      Антон
      10 мая 2016, 12:37
      0
      Спасибо, теперь все работает идеально. Вот уже в который раз убеждаюсь, что автор дополнения на редкость отзывчивый человек, буквально пару часов назад написал о проблеме и вот она уже решена. Респект за качественную работу!
Артём Литвинко
11 мая 2016, 19:07
0
Добрый день.
Занимаюсь доработкой функций сайта, заказчику необходима возможность функции экспорта/импорта товаров для изменений цен и разного такого.
Предлагаю им установить ваш плагин. Но они хотят знать, перед приобретением, некоторые вещи:

Можно ли выводить данные по конкретному дополнительному полю, и можно ли выводить информацию из других дополнительных полей, которых у них очень много (несколько вариантов цен и т.д.)?
    Prihod
    11 мая 2016, 21:44
    0
    экспорта/импорта работает с всеми дополнительными полями которые вы создадите включая tv.
    по конкретному дополнительному полю, и можно ли выводить информацию из других дополнительных полей
    а в чем разница?
      Артём Литвинко
      11 мая 2016, 21:50
      0
      разница в том, что им часто нужно менять цены по продукции от какого-нибудь производителя, и они хотят выводить товары только по этому производителю, менять все данные, которые нужны и загружать обратно
        Prihod
        11 мая 2016, 21:56
        0
        а причем тут вывод товаров к экспорту/импорту?
          Артём Литвинко
          11 мая 2016, 22:04
          0
          им нужно экспортировать товары определённого производителя (который задан в дополнительном поле) в xls, менять данные (цены, количество, описание и т.д.) прямо в этом xls и импортировать их обратно с изменениями.
          мне нужен ответ, что это возможно, который я скопирую им
Prihod
11 мая 2016, 22:10
0
по умолчанию экспорт происходит всех товаров, но возможно создавать дополнительные условия выборки товаров для экспорта так что ДА то что вам нужно можно реализовать через msImportExport
Adorazel
13 мая 2016, 10:01
0
Столкнулся со следующей проблемой
Дополнение доступно к использованию только у пользователя admin (неограниченные права)
Пользователь manager (с ограниченными правами) не может получить доступ к использованию этого дополнения

Подскажите, какие нужны права дать manager, чтобы он мог использовать дополнение
    Prihod
    13 мая 2016, 11:10
    0
    Hi, а его нет в меню или получаешь ошибку о нехватки прав? Если 2-е то для начала нужно разрешить создание и редактирование документов
      Adorazel
      13 мая 2016, 11:17
      0
      В меню его не было
      нужны были привилегии msimportexport
      Но таких привилегий в разделе Политик доступа я не нашел, поэтому очистил поле привилегий пункта меню Импорт

      После этого пункт меню появился, но по клику появлялось сообщение, что Доступ запрещен

      Про «Создание и редактирование документов»
      Если ты имеешь виду Создание и редактирование ресурсов, то эти привилегии у manager есть.
      Я, собственно, для этого этого пользователя и создавал
        Prihod
        13 мая 2016, 11:23
        0
        а ты делал перезагрузку прав доступа?
          Adorazel
          13 мая 2016, 11:26
          0
          да, много раз

          Меня больше интересует привилегия msimportexport
          Которая отсутствует в разделе Политик доступа
            Prihod
            13 мая 2016, 11:29
            0
            Меня больше интересует привилегия msimportexport
            да ее и не было, в первых версиях просто для меню она была указа вот и все.
            После этого пункт меню появился, но по клику появлялось сообщение, что Доступ запрещен
            доступ запрещен как для импорта так и для экспорта?
              Adorazel
              13 мая 2016, 11:36
              0
              Нашел

              Я копировал пункт Импорт в раздел с Minishop

              Поэтому по факту у меня было два пункта Импорт

              Привилегию я удалял только у копии

              Когда удалил и у оригинала, все заработало

              Благодарю, за помощь
Adorazel
13 мая 2016, 11:24
0
да, много раз
Alexander V
13 мая 2016, 13:11
0
Возможно ли с помощью этого дополнения первоначальное наполнение? В частности интересуют категории. Например колонка с именем категории. Если категория отсутствует, то мы её создаём.
    Prihod
    13 мая 2016, 14:17
    0
    Да, можно как сделать импорт полностью всего дерева категорий так и непосредственно автоматически создавать их на основании параметра parent указав в нем вложенность директорий через разделитель | но вами предварительно в таком случаи должен быть создан главный катало в который и будут добавляться новые подгорании
      Alexander V
      13 мая 2016, 14:30
      0
      Главный, вы имеете в виду корневой ресурс?
      1. Есть ли тесты на больших объемах? Более 10к позиций.
      2. Какой будет применен шаблон к категории, если она создается автоматически?
      3. Шаблон (ID) для товара, я так понимаю могу указать в колонке файла?
        Prihod
        13 мая 2016, 14:37
        0
        1) та таких больших обобьем не тестировался, тут писал один пользователь о 1500 но особых проблем быть не должно т.к импорт разбивается на n частей в зависимости от настроек
        2) шаблон для категорий можно указать в настройках импорта
        3) да
        Oleg Pimanov
        17 апреля 2017, 17:40
        0
        Добрый день!
        Я пробовал загрузить сразу 18 000 товаров. Загружается такое количество очень долго, больше суток.
        Реально там еще от хостинга зависит и от Вашего тарифа, у меня например стоят ограничения на суточную нагрузку на процессор и на память, ниже скриншот.

        prntscr.com/exglvy

        В связи с чем у меня вопрос, мне такие файлы надо загружать примерно раз в 3 суток, загружаю я csv.
        Можно ли как-то увеличить скорость обмена данными при загрузки таких файлов?
          Prihod
          17 апреля 2017, 18:16
          0
          скорость будет намного быстрей если использовать «Обновить данные товаров» но как понятно из названия тут есть свои ограничения 1 и самое важное — товар должен уже быть создан про остальные читай на стр. дополнения
Артём Литвинко
17 мая 2016, 08:01
0
добрый день!

при экспорте выдаёт такое в журнале ошибок.

как можно решить проблему?

[2016-05-17 07:50:28] (INFO @ /assets/components/msimportexport/export/export.php) Попытка установить лимит времени = 600 сек: error
[2016-05-17 07:50:28] (INFO @ /assets/components/msimportexport/export/export.php) Используется настройка для полей c ID: 1
[2016-05-17 07:50:28] (ERROR @ /assets/components/msimportexport/export/export.php) msProductData::loadOptions() is not a valid static method.
[2016-05-17 07:50:28] (ERROR @ /home/s1825/www/core/components/msimportexport/model/msimportexport/msie.class.php : 1392) PHP warning: array_merge(): Argument #2 is not an array
[2016-05-17 07:50:28] (INFO @ /assets/components/msimportexport/export/export.php) SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`content`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`article`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Vendor`.`id` AS `vendor.id`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties` FROM `modx_site_content` AS `msProduct` LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `modx_ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`parent` IN (5,2483,2484,7052,3952,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4193,4195,4198,4199,4201,4480,4553,4554,4555,4556,4557,1299,4648,4649,4650,4651,4652,4653,4654,4655,4656,4657,4658,4659,4660,4661,4662,4663,4664,4861,4862,4863,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028,5374,5375,5376,5377,5378,5379,7786,5380,5381,5382,5383,5384,5385,5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,6376,6378,6379,6380,6448,6449,6450,588,590,1297,584,587,585,657,2572,2575,1293,1294) )  GROUP BY msProduct.id ORDER BY msProduct.id ASC 
[2016-05-17 07:50:28] (INFO @ /assets/components/msimportexport/export/export.php) Array
(
    [0] => 
)
    Prihod
    17 мая 2016, 10:22
    0
    А какая версия miniShop2?
    И вообще miniShop2 нормально работает, а то ошибка
    [2016-05-17 07:50:28] (ERROR @ /assets/components/msimportexport/export/export.php) msProductData::loadOptions() is not a valid static method.

      Артём Литвинко
      18 мая 2016, 16:23
      0
      версия 2.1.10-pl

      в целом сайт работает нормально, я взялся только за установку плагина, поэтому не осведомлён о том, что там внутри.
        Prihod
        18 мая 2016, 16:32
        0
        попробуйте обновить до miniShop2 2.2.0-pl2
          Артём Литвинко
          24 мая 2016, 14:14
          0
          они долго решались, но всё же обновились.
          теперь в журнале ошибок, другая история.
          Посмотрите, пожалуйста:

          [2016-05-24 11:34:53] (ERROR @ /assets/components/msimportexport/export/export.php) Для настройки полей с ID: 2 не заданы значения
          [2016-05-24 11:34:53] (ERROR @ /home/s1825/www/core/components/msimportexport/model/msimportexport/msie.class.php : 333) PHP warning: array_map(): Argument #2 should be an array
          [2016-05-24 11:38:09] (ERROR @ /assets/components/msimportexport/export/export.php) Для настройки полей с ID: 2 не заданы значения
          [2016-05-24 11:38:09] (ERROR @ /home/s1825/www/core/components/msimportexport/model/msimportexport/msie.class.php : 333) PHP warning: array_map(): Argument #2 should be an array
          [2016-05-24 11:40:16] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 11:41:30] (ERROR @ /assets/components/msimportexport/connector.php) Error caching lexicon topic lexicon/en/msimportexport/default
          [2016-05-24 11:41:30] (ERROR @ /assets/components/msimportexport/connector.php) Error caching lexicon topic lexicon/en/msimportexport/default
          [2016-05-24 11:41:30] (ERROR @ /assets/components/msimportexport/connector.php) Error caching lexicon topic lexicon/ru/msimportexport/default
          [2016-05-24 11:41:41] (ERROR @ /connectors/lang.js.php) Could not cache context settings for mgr.
          [2016-05-24 11:41:57] (INFO @ /assets/components/msimportexport/export/export.php) Используется настройка для полей c ID: 2
          [2016-05-24 11:41:57] (INFO @ /assets/components/msimportexport/export/export.php) Попытка установить лимит времени = 600 сек: error
          [2016-05-24 11:41:58] (INFO @ /assets/components/msimportexport/export/export.php) SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`content`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`article`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Vendor`.`id` AS `vendor.id`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties` FROM `modx_site_content` AS `msProduct` LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `modx_ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`parent` IN (5,44,2483,2484,7052,3952,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4193,4195,4198,4199,4201,4480,4553,4554,4555,4556,4557,1299,4648,4649,4650,4651,4652,4653,4654,4655,4656,4657,4658,4659,4660,4661,4662,4663,4664,4861,4862,4863,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028,5374,5375,5376,5377,5378,5379,7786,5380,5381,5382,5383,5384,5385,5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,6376,6378,6379,6380,6448,6449,6450,588,590,1297,584,587,585,657,2572,2575,1293,1294,4772,4773,4774,4775,4776,4777,4778,6971,6977,6980,6981,6982,6996,6998,6999,7000,7003,7005,7314,7006,7315,7871,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2195,2196,2198,2199,2200,2201) )  GROUP BY msProduct.id ORDER BY msProduct.id ASC LIMIT 9999999 
          [2016-05-24 11:41:58] (INFO @ /assets/components/msimportexport/export/export.php) Array
          (
              [0] => Array
                  (
                      [id] => 584
                      [type] => document
                      [contentType] => text/html
                      [pagetitle] => Giraffe GF-DV0402  RECORD COMBO
                      [longtitle] => 
                      [description] => 
                      [alias] => giraffe-gf-dv0402-record-combo
                      [link_attributes] => 
                      [published] => 1
                      [pub_date] => 0
                      [unpub_date] => 0
                      [parent] => 5
                      [isfolder] => 0
                      [introtext] => Giraffe GF-DV0402  RECORD COMBO 4-х канальный видеорегистратор. Видео вход/выход 4 BNC(750м) / 1BNC(750м), Звук вход/выход 1RCA(750м) / 1RCA(600м). Триплекс (Запись, просмотр, резервное копирование). Запись до 50 fps (640х272). Компрессия MJPEG. HDD/SATA / до 1 Tb. Детектор движения. Операционная система Embedded RTOS. Встроенный монитор 7” (234x154мм) 280кд/м2. USB2.0 для копирования. ИК пульт. Напряжения источника питания DC 12В / 3A (AC 100~240В 50Гц). Габариты 220x298x55(178) мм. Диапозон рабочих температур - 10 ~ +60 С. Складной  7"  LCD  TFT  экран, компрессия Advanced MJPEG,  длительность непрерывной записи до 15 дней, простой - интуитивно понятный интерфейс. скорость записи до 50fps, одновременные : запись, просмотр архива, резервирование данных на USB носитель, уменьшенное расходование электроэнергии, малые габариты.
                      [content] => <p style="text-align: justify;"><strong style="line-height: 1.5em;">Giraffe GF-DV0402  RECORD COMBO 4-х канальный видеорегистратор.</strong></p>
          <div style="text-align: justify;">
          <div style="text-align: justify;"><span>Видео вход/выход 4 BNC(750м) / 1BNC(750м), .  Звук вход/выход 1RCA(750м) / 1RCA(600м). Триплекс (Запись, просмотр, резервное копирование). Запись до 50 fps (640х272). Компрессия MJPEG. HDD/SATA / до 1 Tb. Детектор движения. Операционная система Embedded RTOS. Встроенный монитор 7” (234x154мм) 280кд/м2. USB2.0 для копирования. ИК пульт. Напряжения источника питания DC 12В / 3A (AC 100~240В 50Гц). Габариты 220x298x55(178) мм. Диапозон рабочих температур - 10 ~ +60 С. Складной  7"  LCD  TFT  экран, компрессия Advanced MJPEG,  длительность непрерывной записи до 15 дней, простой - интуитивно понятный интерфейс. скорость записи до 50fps, одновременные : запись, просмотр архива, резервирование данных на USB носитель, уменьшенное расходование электроэнергии, малые габариты.</span></div>
          <h2>Особенности Giraffe GF-DV0402  RECORD COMBO</h2>
          </div>
          <ul dir="ltr">
          <li>Встроенный цветной 7" LCD монитор</li>
          <li>4 канала видео / 1 канал аудио</li>
          <li>LAN</li>
          <li>Выход USB для резервирования данных на USB флэш-диск</li>
          <li>Детектор движения</li>
          <li>Русифицированный, интуитивно понятный интерфейс</li>
          </ul>
          <div id="section1">
          <h2>Технические характеристики Giraffe GF-DV0402  RECORD COMBO</h2>
          <table style="width: 70%;" border="1" cellspacing="0" cellpadding="3">
          <tbody>
          <tr>
          <td><strong><span><span>Модель</span></span></strong></td>
          <td><strong><span><span>GF-DV0402 (RECORD COMBO)</span></span></strong></td>
          </tr>
          <tr>
          <td><span><span>Количество каналов "видео" вход-выход</span></span></td>
          <td><span><span>4BNC(750м) / 1BNC(750м)</span></span></td>
          </tr>
          <tr>
          <td><span><span>Количество каналов "звука" вход-выход</span></span></td>
          <td><span><span>1RCA(line) / 1RCA(line)</span></span></td>
          </tr>
          <tr>
          <td><span><span>Многозадачность</span></span></td>
          <td valign="middle"><span>Дуплекс</span></td>
          </tr>
          <tr>
          <td><span><span>Общая скорость записи, кадров в секунду</span></span></td>
          <td><span><span>50</span></span></td>
          </tr>
          <tr>
          <td><span><span>Максимальное разрешение записи</span></span></td>
          <td><span><span>D1 (720х576)</span></span></td>
          </tr>
          <tr>
          <td><span><span>Вид копрессии</span></span></td>
          <td><span><span>MJPEG</span></span></td>
          </tr>
          <tr>
          <td><span><span>Операционная система</span></span></td>
          <td><span><span>Embedded RTOS</span></span></td>
          </tr>
          <tr>
          <td><span><span>Накопитель HDD</span></span></td>
          <td><span><span>1 SATA / 1 Тб / HDD</span></span></td>
          </tr>
          <tr>
          <td><span><span>Детектор движения</span></span></td>
          <td><span><span>Full screen</span></span></td>
          </tr>
          <tr>
          <td><span><span>Монитор</span></span></td>
          <td><span><span>7” (234x154мм) 280кд/м</span></span></td>
          </tr>
          <tr>
          <td><span>LAN</span></td>
          <td><span>1 RJ45 10M/100M Ethernet</span></td>
          </tr>
          <tr>
          <td><span><span>USB</span></span></td>
          <td><span><span>1 USB2.0 для копирования</span></span></td>
          </tr>
          <tr>
          <td><span><span>Напряжения источника питания, B</span></span></td>
          <td><span><span>DC 12В / 3A (AC 100~240В 50Гц)</span></span></td>
          </tr>
          <tr>
          <td><span><span>Габариты, мм</span></span></td>
          <td><span><span>220x298x55 (178 при открытом экране)</span></span></td>
          </tr>
          <tr>
          <td><span><span>Диапозон рабочих температур, </span></span><span><span>С</span></span></td>
          <td><span><span>-0 ... +50</span></span></td>
          </tr>
          </tbody>
          </table>
          <span style="font-size: 1.5em; line-height: 1.5em;"><br /></span></div>
                      [richtext] => 1
                      [template] => 3
                      [menuindex] => 448
                      [searchable] => 1
                      [cacheable] => 1
                      [createdby] => 1
                      [createdon] => 1432905915
                      [editedby] => 24
                      [editedon] => 1461848574
                      [deleted] => 0
                      [deletedon] => 0
                      [deletedby] => 0
                      [publishedon] => 1461848574
                      [publishedby] => 24
                      [menutitle] => 
                      [donthit] => 0
                      [privateweb] => 0
                      [privatemgr] => 0
                      [content_dispo] => 0
                      [hidemenu] => 0
                      [class_key] => msProduct
                      [context_key] => web
                      [content_type] => 1
                      [uri] => giraffe-gf-dv0402-record-combo.html
                      [uri_override] => 0
                      [hide_children_in_tree] => 0
                      [show_in_tree] => 0
                      [properties] => 
                      [article] => 5416
                      [price] => 8125
                      [old_price] => 0.00
                      [weight] => 0
                      [image] => /assets/images/products/584/gf-dv0402combo-bg-enljpg.jpg
                      [thumb] => /assets/images/products/584/150x150/gf-dv0402combo-bg-enljpg.jpg
                      [vendor] => 0
                      [made_in] => 
                      [new] => 0
                      [popular] => 0
                      [favorite] => 0
                      [tags] => 
                      [color] => 
                      [size] => 
                      [source] => 2
                      [vendor.id] => 
                      [vendor.name] => 
                      [vendor.resource] => 
                      [vendor.country] => 
                      [vendor.logo] => 
                      [vendor.address] => 
                      [vendor.phone] => 
                      [vendor.fax] => 
                      [vendor.email] => 
                      [vendor.description] => 
                      [vendor.properties] => 
                      [idx] => 1
                  )
          
          )
          
          [2016-05-24 11:48:05] (ERROR @ /connectors/modx.config.js.php) Error caching action map mgr/actions
          [2016-05-24 11:52:15] (ERROR @ /connectors/index.php) Error caching lexicon topic lexicon/ru/core/default
          [2016-05-24 11:55:21] (ERROR @ /connectors/index.php) Error caching action map mgr/actions
          [2016-05-24 11:59:26] (ERROR @ /assets/components/minishop2/connector.php) Error caching lexicon topic lexicon/ru/core/default
          [2016-05-24 11:59:26] (ERROR @ /assets/components/minishop2/connector.php) Error caching action map mgr/actions
          [2016-05-24 12:00:43] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:00:43] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:02:14] (ERROR @ /connectors/index.php) Error caching lexicon topic lexicon/ru/core/default
          [2016-05-24 12:09:42] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/minishop2/default
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:17] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:22] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:16:49] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/msearch2/properties
          [2016-05-24 12:16:49] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/properties
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:23:51] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:25:09] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:25:09] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:25:09] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 12:31:18] (ERROR @ /home/s1825/www/core/model/modx/rest/modrestclient.class.php : 231) PHP warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
          [2016-05-24 12:31:18] (ERROR @ /home/s1825/www/core/model/modx/rest/modrestclient.class.php : 231) PHP warning: simplexml_load_string(): {"status":500,"code":2,"message":"implode(): Invalid arguments passed"}
          [2016-05-24 12:31:18] (ERROR @ /home/s1825/www/core/model/modx/rest/modrestclient.class.php : 231) PHP warning: simplexml_load_string(): ^
          [2016-05-24 12:31:18] (ERROR @ /connectors/index.php) Could not connect to provider at: http://rest.modx.com/extras/
          [2016-05-24 12:37:05] (ERROR @ /assets/components/msimportexport/connector.php) Error caching lexicon topic lexicon/ru/core/default
          [2016-05-24 13:10:54] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/pdotools/properties
          [2016-05-24 13:15:38] (ERROR @ /connectors/index.php) Error caching lexicon topic lexicon/en/core/source
          [2016-05-24 13:16:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:16:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:21:18] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:22:40] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:23:30] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/ajaxform/properties
          [2016-05-24 13:23:30] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/default
          [2016-05-24 13:29:14] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/msearch2/properties
          [2016-05-24 13:29:14] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/msearch2/default
          [2016-05-24 13:29:14] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/tickets/properties
          [2016-05-24 13:32:43] (ERROR @ /index.php) Could not cache context settings for web.
          [2016-05-24 13:34:07] (ERROR @ /index.php) Could not cache context settings for web.
          [2016-05-24 13:35:34] (ERROR @ /index.php) Could not cache context settings for web.
          [2016-05-24 13:36:35] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/pdotools/properties
          [2016-05-24 13:36:35] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/ajaxform/default
          [2016-05-24 13:36:35] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/default
          [2016-05-24 13:36:46] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/pdotools/properties
          [2016-05-24 13:36:46] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 13:36:46] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/tickets/default
          [2016-05-24 13:36:46] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/properties
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/default
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/default
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/tickets/default
          [2016-05-24 13:38:00] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
          [2016-05-24 13:40:13] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
          [2016-05-24 13:41:03] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 13:41:04] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/default
          [2016-05-24 13:41:04] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/default
          [2016-05-24 13:41:04] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
          [2016-05-24 13:46:48] (ERROR @ /index.php) Could not cache context settings for web.
          [2016-05-24 13:47:11] (ERROR @ /index.php) Could not cache context settings for web.
          [2016-05-24 13:47:48] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/pdotools/properties
          [2016-05-24 13:47:48] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/properties
          [2016-05-24 13:47:48] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/properties
          [2016-05-24 13:47:48] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/default
          [2016-05-24 13:54:17] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/default
          [2016-05-24 13:54:59] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/formit/default
          [2016-05-24 13:57:17] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/ajaxform/properties
          [2016-05-24 13:57:17] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/default
          [2016-05-24 13:57:17] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/ajaxform/default
          [2016-05-24 13:57:17] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 13:58:09] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:32] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 13:58:33] (ERROR @ /home/s1825/www/core/components/minishop2/model/minishop2/minishop2.class.php : 533) PHP warning: number_format() expects parameter 1 to be double, string given
          [2016-05-24 14:02:26] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/formit/properties
          [2016-05-24 14:02:26] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
          [2016-05-24 14:06:48] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/msearch2/default
          [2016-05-24 14:07:22] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/msearch2/properties
          [2016-05-24 14:11:13] (ERROR @ /index.php) Error caching lexicon topic lexicon/en/ajaxform/properties
          [2016-05-24 14:11:50] (ERROR @ /index.php) Error caching lexicon topic lexicon/ru/tickets/default
            Prihod
            24 мая 2016, 14:44
            0
            Для настройки полей с ID: 2 не заданы значения
            вы в настройках полей импорта не указали ни одного названия поля
Stan Ezersky
25 мая 2016, 08:52
0
Вот и я столкнулся: не импортируются поля товара с двойной кавычкой — ". Если парсеру попадается поле с кавычкой, он тупо пропускает последующие поля — опции товара. Пробовал заменять на две одинарные, не сработало.
    Prihod
    25 мая 2016, 17:49
    0
    проблема в самом miniShop2, а именно в том как происходит сохранение дополнительных опций товара
    core/components/minishop2/model/minishop2/msproductdata.class.php стр. 49 имеет вид
    $values[] = '('.$id.',"'.$key.'","'.$value.'")';
    вот тут то все и ломает кавычка
Oleg Pimanov
31 мая 2016, 14:46
0
Добрый день! У меня при експорте в файл записывается только 1 товар и все. С чем это может быть связано. Я экспортирую в XLS.
    Prihod
    31 мая 2016, 14:55
    0
    может включен режим отладки или выбрана какая та только 1 категория
Oleg Pimanov
31 мая 2016, 15:24
0
Спасибо. Да, действительно была включена отладка, а когда експорт категорий, у меня вот пустой файл совсем ). Может я неправильно галочки ставлю?
Oleg Pimanov
31 мая 2016, 15:46
0
Скажите, а я добавлял к товару свои собственные tv, их значения как-то можно учитывать?
    Prihod
    31 мая 2016, 15:49
    0
    да, можно вручную указать в выпадающем списке tv.ID где ID — id tv переменной
Oleg Pimanov
31 мая 2016, 15:57
0
Извините, не совсем понял, в каком списке. Это который «Поля для експорта»? Там добавлять?
    Prihod
    31 мая 2016, 16:15
    0
    да, так же сама и для импорта можно
Oleg Pimanov
31 мая 2016, 16:34
0
Прописал, но передаются пустые поля.

    Prihod
    31 мая 2016, 16:43
    0
    походу в экспорте нужно указывать не id, а название полей tv.name_field (название должны быть на латинице)
Oleg Pimanov
31 мая 2016, 16:47
0
Да, все верно, сработало. Спасибо за помощь огромное, сам бы долго копался очень причем.
Oleg Pimanov
31 мая 2016, 16:59
0
А насчет фотографий. Они сначала загружаются в папку на сервер и потом оттуда скрипт берет их и загружает в товар? Учитывая что там MS2 Gallery для загрузки фото и можно ли загрузить больше одной фотографии?
    Prihod
    31 мая 2016, 17:09
    0
    1) да
    2) в текущей версии в MS2 Gallery не загружаются,
    больше одной фотографии
    да
Oleg Pimanov
31 мая 2016, 17:19
0
1) Я правильно понял, что в MS2 Gallery фото не загружаются?
2) А куда тогда они загружаются?
    Prihod
    31 мая 2016, 17:21
    0
    в стандартную галерею miniShop2
Oleg Pimanov
31 мая 2016, 17:29
0
Понял, сейчас на тестовом сайте все попробую, ответы я получил, спасибо.
Oleg Pimanov
01 июня 2016, 15:36
0
Добрый день! Возникла одна маленькая проблема. При импорте товара у мен в файле с информацией первая строка — это заголовки столбцов. В настройках импорта я ставлю — первую строку игнорировать. Все загружает, даже фото в MS2Gallery, но отказывается вбивать pagetitle.
    Prihod
    01 июня 2016, 15:55
    0
    hi, вкл. режим отладки и посмотри что в логе, результат можешь скинуть в тикет компонента что бы тут пост не засорять
Oleg Pimanov
01 июня 2016, 16:13
0
Включил режим, но он пуст, так как пр импорте показывает что все прошло нормально. И свои отдельные TV тоже не загружает, хотя при экспорте все выгружается нормально.
    Prihod
    01 июня 2016, 16:18
    0
    Включил режим, но он пуст, так как пр импорте показывает что все прошло нормально.
    ну так ошибки не причем, в лог должно попасть входная инфа для импорта, а также инфа о ходе импорта.

    При импорте для tv нужно использовать ID tv.id для экспорта tv.name
Oleg Pimanov
01 июня 2016, 16:59
0
Лог пуст, только в Журнаеле системы управления есть информация о том, что создается ресурс и загружаются фото к этому ресурсу. И не работает tv.ID
    Prihod
    01 июня 2016, 17:09
    0
    скинь доступ в админку, файл импорта и название настройки для полей
Oleg Pimanov
01 июня 2016, 17:32
0
Ушло письмо
Сергей
15 июня 2016, 17:08
0
Здравствуйте! Сегодня купил плагин. Всё работает. Проблема только в том, что при выгрузке поля content, после описания товара в ячейку добавляет ещё и фрейм
Сергей
15 июня 2016, 17:25
0
Извините, всё ок, моя ошибка
qkos
15 июня 2016, 21:02
0
Здравствуйте.
Приобрел модуль, начал пробовать, а он у меня зависает и пока не обновишь страницу ничего не происходит.
В режиме отладки работает.
В чем может быть проблема?

Заранее спасибо.

Принскрин и файл прикрепляю.



Файл импорта: file.modx.pro/files/f/6/b/f6b6d04ec6586320a8d29a5dcb43d5a9.xls
    Prihod
    16 июня 2016, 11:12
    0
    hi, возможно у вас в файле импорта одна из строк некорректная, а вообще лучше подобные вопросы задавать через тикет на странице компонента «Задавайте вопросы по настройке и эксплуатации платных дополнений.»
Михаил Алтухов
17 июня 2016, 01:50
0
Добрый день!
не работает Базовый родительский каталог вводишь id а он автоматом очищается
    Prihod
    17 июня 2016, 12:17
    0
    hi, ну там как бы нужно не вводить, а выбирать из выпадающего списка
Михаил Алтухов
17 июня 2016, 12:18
0
в выпадающем списке пусто
поэтому пытался вводить
    Prihod
    17 июня 2016, 12:21
    0
    ну так а у вас создать тогда хоть ресурс типа «Товар категории»?
Михаил Алтухов
17 июня 2016, 12:23
0
да не один создал ))
    Prihod
    17 июня 2016, 12:26
    0
    дайте доступ к админке я посмотрю
      Михаил Алтухов
      17 июня 2016, 12:36
      0
      отправил
        Prihod
        17 июня 2016, 12:49
        0
        ну так у вас нет «Товар категории» верхнего уровня (без родителя) у вас ресурс под названием «каталог» в котором уже есть «Товар категории» это обычный modx документ сделайте его типа «Товар категории»
          Михаил Алтухов
          17 июня 2016, 13:08
          0
          понятно, а julf как я понял он подставляет только каталог но не показывает в этом списке конкретную категорию допустим я базовую категорию хочу сделать тестовая категория 2, только каталог можно выбрать
            Prihod
            17 июня 2016, 13:17
            0
            не совсем понял о чем речь
              Михаил Алтухов
              17 июня 2016, 13:41
              0
              сорри, в базовый каталог можно подставить только категорию верхнего уровня как у меня «каталог», можно например там поставить «тестовая категория»
                Prihod
                17 июня 2016, 14:00
                0
                каталогом считается любой документ типа «Товар категории» верхнего уровня т.е у которого нет родителя так что если нужен тестовый каталог то создайте его рядом с основным каталогам, а не внутри него
                  Михаил Алтухов
                  17 июня 2016, 14:02
                  0
                  ясно, не очень удобно конечно, лучше бы в выпадающем списке все категории сразу отображались, но компонент удобный спасибо за помощь и за компонент
DocentBF
20 июня 2016, 15:08
0
@Prihod, есть проблема с импортом в файлах, где используются многострочные ячейки, например, это требуется при загрузке поля content. Возможно я что-то недоглядел в настройках, но решил проблему заменой построчного считывания файла на fgetcsv:
// msie.class.php:~1820
... else {
	$handle = fopen($file, "r");
	...
	//for($i=$start;$i< $stop; $i++) {
	while($csv = fgetcsv($handle, filesize($file), $delimeter)) {
		if($out['rows']>= $stop) {
			break;
		}
		if($out['rows']) < $start) {
			$out['rows']++;
			continue;
		}
		...
	}
	fclose($handle);
Юрий
05 июля 2016, 17:59
0
Привет.
Не загружаются опции товаров!
Пробую импортировать товары из xls, но вся информация нормально импортируется, кроме «опций товаров» — пустые значения.

Информация о сайте:
Хостинг — Modxhost
MODX — 2.5.0 pl
Msimportexport — 1.1.3-beta
miniShop2 — 2.4.0-rc2

Чтоб наглядней было, снял небольшое видео
Prihod
09 июля 2016, 17:50
+2
UPD: v1.2.0
-Обновлено: Импорт опций товара для miniShop2 2.4.0

У кого miniShop2 < v2.4.0 обновляется не нужно
    Stan Ezersky
    12 июля 2016, 21:44
    +1
    Я не видя поста, обновился (2.2.0-pl2). Опции перестали заливаться, откатился
    Думаю, в чейнджлоге это где-то отметить
Захарий
13 июля 2016, 16:01
0
Не могу разобраться как импортировать теперь json поля. Хочу «color» заполнить 1 строкой. В файле в необходимом поле — red@green@blue. Дополнительный разделитель для полей типа JSON — @. Импорт пошел, но в базе [«red@green@blue.»], то бишь все слитно идет. Пытался [«red»,«green»] так передавать, но компонент экранирует и вообще каша получается
Prihod
14 июля 2016, 11:57
0
UPD: v1.2.1 и v1.1.4
-Исправлено: Дополнительный разделитель для импорта
Александр Котлов
17 июля 2016, 16:23
0
Кому нибудь удалось заставить компонент создавать категории при импорте? Теоретически умеет, в настройках пункты есть, но никак не создает. Версия последняя, в логе чисто. Если у кого-то получалось — значит я чет не так делаю, буду дальше пробовать.
Станислав
20 июля 2016, 07:24
0
Здравствуйте!

При выборе «Импорт категорий» ничего не происходит: просто не появляются строки со значениями.

    Prihod
    20 июля 2016, 09:13
    0
    просто не появляются строки со значениями
    А они и не должны появляться т.к у файла импорта категорий строгая структура которая описана в доках компонента
      Станислав
      20 июля 2016, 09:30
      0
      То есть при импорте товара мне достаточно в csv-файле указать категории через разделитель (к примеру, category1|category2|category3) и применить к этому полю «Категории»?

      Тогда у меня еще пара вопросов:
      1. Нужно ли указывать в csv-файле родительскую категорию (которая указывается в настройках импорта — ID родителя)
      2. Остатки будут применяться сразу ко всем товарам в разных категориях?
        Prihod
        20 июля 2016, 09:41
        0
        1) да т/к parent это, базовая категория товара, а то что указывается через поле категории это дополнительные категории к которым относится товар отсюда следует ответ на 2-й вопрос что остатки будет применены ко всем категориям т/к товар на самом деле один
        Prihod
        20 июля 2016, 09:43
        0
        То есть при импорте товара мне достаточно в csv-файле указать категории через разделитель (к примеру, category1|category2|category3) и применить к этому полю «Категории»?
        применять к полю «Категории» не нужно товар сам автоматически попадет в последнюю категорию т/е parent у него будет category3
          Станислав
          20 июля 2016, 09:57
          0
          Сначала мне стало понятно, но после последнего коммента опять запутался.

          В общем, мне нужно выгрузить товар в несколько категорий сразу. Я так понял, остатки к нему будут применяться одни.

          Я думал сделать так: добавить в csv-файл столбец, в котором через разделить указать все ID категорий, где будет размещен товар. И импортировать через «Импорт товаров».

          Но так не получается. В чем моя ошибка?

          P.S. А что значит «применять к полю «Категории» не нужно»? По умолчанию же стоит «Игнорировать», если к столбцу не привязать значение.
            Prihod
            20 июля 2016, 10:07
            0
            в котором через разделить указать все ID категорий, где будет размещен товар
            через родитель не указываются все категории к которым относится товар, а указывается базавая его категория запись для родителя типа category1|category2|category3 означает что у товара базавая категория category3 которая является под категорией category2 т/е category3 находится в category2 которая в свою очередь находится в category1 и если какой то из перечисленных категорий нет то она будет создана с соответствующей вложенностью

            То что указывается через поле «Категории» это уже дополнительные категории к которым относиться товар и значение для него типа category1|category2|category3 значит что товар относиться к дополнительной категории category1, category2 и category3 одновременно
              Станислав
              20 июля 2016, 10:23
              0
              В общем, задам вопрос проще: как мне раскинуть товар на несколько категорий при загрузке через csv-файл в «Импорте товаров»? Или мне нужно пользоваться импортом категорий, но опять же — как им пользоваться?)

              То что указывается через поле «Категории» это уже дополнительные категории к которым относиться товар и значение для него типа category1|category2|category3 значит что товар относиться к дополнительной категории category1, category2 и category3 одновременно
              В принципе, мне это и нужно: у меня в столбце ID категорий, в которые хочу засунуть товар, и к этому столбцу применяю «Категории». Грубо говоря, у меня товар должен лежать в разделах «Керамика», «Кольца» и «Для свадьбы» одновременно.

              Поле «parents» у меня в csv-файле отсутствует, его указываю вручную в настройках импорта. Но и когда указываю его в файле, всё равно все товары импортируются только в родительскую категорию, а столбец «Категории» будто игнорируется. В логах ничего нет.
                Станислав
                20 июля 2016, 13:08
                0
                Разобрался, в чем было дело. Поле «Категории»не видят ID — понимают только слова. А жаль, с ID было бы удобнее.
                  Prihod
                  20 июля 2016, 13:11
                  0
                  Да «Категории» ID не поддерживают
                    Игорь
                    22 марта 2019, 19:47
                    0
                    Добрый вечер! Подскажите, пожалуйста, как можно назначить «Категории» (добавить, удалить) для уже импортированных товаров? Данное поле есть при «Импорте товаров», но отсутствует при выборе типа импорта «Обновить данные товара».
                      Prihod
                      22 марта 2019, 19:51
                      0
                      но отсутствует при выборе типа импорта «Обновить данные товара».
                      потому что это поле не находится в таблице товара поэтому его и нельзя обновить при типе импорта «Обновить данные товара». Используй классический импорт
    Ruslan Butakov
    25 июля 2016, 17:16
    0
    Все привет, может у кого то были проблемы с файлами более 2мб?

    После попытки загрузить файл более 2 мб (~2000 строк), ничего не происходит.
    Никаких ограничений со стороны сервера нет.
    Stan Ezersky
    01 августа 2016, 18:05
    0
    Я что-то упустил и теперь можно импортировать XLS/XLSX?
      Захарий
      01 августа 2016, 18:10
      0
      modx.pro/components/7485-msimportexport/#comment-58130
      Ты еще и отписал ему :)
        Stan Ezersky
        01 августа 2016, 18:18
        0
        Добавил возможность выгружать данные в XLS/XLSX
        ВЫГРУЖАТЬ

        Я спросил про импортирование. Не экспорт:)
          Захарий
          02 августа 2016, 10:55
          0
          Дак да, я потом отредактировал коммент, не на тот скинул ссылку
            Stan Ezersky
            02 августа 2016, 10:57
            +1
            Надо больше спать! :)
    Prihod
    11 августа 2016, 16:44
    +1
    UPD: 1.2.3
    -Исправлено: Импорт опций тип список
    -Обновлено: Импорт изображений в галерею (петерь можно указать сисок изображений в одной ячейки через дополнительный разделитель например assets/img/pic1.jpg|assets/img/pic2.jpg )
    -Добавлено: Экспорт изображений из галереи (в выпадающем списке настройки полей выбрать «Галерея — gallery» )

    Примечание: Если у вас опция типа «Множественный список» или «Выпадающий список» то импорт значений будет происходить только тех которые заданы в их настройках
      Некий
      17 августа 2016, 10:04
      0
      Уважаемый Prihod, пожалуйста помогите разобратся. Это не критика, импорт работает, он действительно хорош!

      а) Если в поле content выгружаешь текст с
      либо абзац идет с новой строки, то выгрузка не пойдет. А есть ли полный список таких нюансов? Возможно ли обойти проблему?

      б) Быть может у вас есть образец правильного xls-файла с каким либо текстом для поля «content»?

      в) Подскажете как выгрузить 600 товаров с текстом… Чтобы не вручную каждую страницу форматировать?
      … Хотя бы чтобы выгрузился текст без форматирования и переносов на след. строку.
        Prihod
        17 августа 2016, 11:33
        +1
        Если в поле content выгружаешь текст с
        либо абзац идет с новой строки, то выгрузка не пойдет. А есть ли полный список таких нюансов? Возможно ли обойти проблему?
        С HTML тегами проблем не должно быть главное что бы не встречались символы новой строки "\n"
          Некий
          17 августа 2016, 12:08
          0
          Я как бы просто копирую текст с сайта… и глазами в нем не вижу символы новой строки "\n"
          Но он невидимый, даже в Блокноте его не видно,

          Видно просто пустую строку…
            Prihod
            17 августа 2016, 12:12
            0
            ну пока юзай notepad++, а вообще нужно будет конечно поискать программное решение этого вопроса
              Некий
              17 августа 2016, 16:31
              0
              Всмысле «скопировал с сайта > вставил в ноутпад++> скопировал и вставил в XLS файл?

              А можно ли как-нибудь прогнать эти 600 строк XLS файла чтобы автоматом удалить пустые строки?

              Вы то как обычно импортируете?
    MainFish
    15 августа 2016, 11:53
    0
    добрый день!

    подскажите, пожалуйста, как добавить при экспорте вывод произвольного дополнительного поле?
    в выпадающем меню нужного варианта нет
      Prihod
      15 августа 2016, 11:59
      0
      введи его название вручную
        MainFish
        15 августа 2016, 12:33
        0
        пробовал, но это поле остаётся пустым. в журнале ошибок ничего при этом не появляется
          Prihod
          15 августа 2016, 12:50
          0
          что это вообще за поле TV или дополнительная опция?
            MainFish
            15 августа 2016, 13:09
            0
            TV типа Список (одиночный выбор)
              Prihod
              15 августа 2016, 13:12
              +1
              нужно внимательно читать доки
              Экспорт tv переменных
              Для экспорт tv переменных в выпадающем списке нужно вручную ввести tv.Name где Name — это название вашей tv переменной.
                MainFish
                15 августа 2016, 13:23
                0
                спасибо большое! теперь всё выводится.
                да, я действительно частенько бываю невнимательным :)
    MainFish
    24 августа 2016, 13:41
    0
    добрый день!

    можно ли экспортировать товары только с конкретным значением конкретного TV?
      Prihod
      24 августа 2016, 16:56
      0
      попробуй в настройках экспорта в «Дополнительные условия поиска» указать условия с своей tv переменной
      типа
      {"tv.my_tvname:=": 1}

        MainFish
        25 августа 2016, 06:54
        0
        пробовал, ни на что не влияет. выводится то же самое, что и при не заполненных «Дополнительных условиях»
          Prihod
          25 августа 2016, 09:20
          +1
          попробуй без префикса tv. в условии
          {"my_tvname:=": 1}
          но в настройках полей для экспорта обязательно должна быть твоя tv переменная с префиксам tv
          tv.my_tvname
            MainFish
            25 августа 2016, 10:55
            0
            во, так получилось

            спасибо большое за помощь!
            Денис
            05 октября 2017, 15:50
            0
            Здравствуйте!

            Создал tv f_manuf — Тип ввода — Авто-метка

            Необходимо сделать экспорт всех товаров у которых есть например запись «Моблер»

            В поле «Дополнительные условия поиска» пишу
            {«f_manuf:=»: Моблер}

            Но выводит все подряд. Подскажите пожалуйста как сделать правильный запрос.
    bonoman
    26 августа 2016, 15:13
    0
    День добрый!

    Подскажите, пожалуйста, столкнулись с такой «проблемкой»… экспорт товаров по выбранным полям tv проходит отлично, но после внесения изменений и импорта товаров обратно на сайт, значения у тех полей, которые не выгружались почему-то обнуляются! с чем это может быть связано? может в настройках плагина нужно что-то учитывать?

    Да, если выгружать у товаров все поля tv, то после аналогичного импорта всё работает и отображается прекрасно

    Заранее спасибо
      Prihod
      26 августа 2016, 15:17
      0
      hi, ну это miniShop их обнуляет, но роде бы в последних версиях miniShop это было исправлено
        bonoman
        26 августа 2016, 15:43
        0
        А версия 2.2.0-pl2 относится к последним? Просто даже не знаю где искать концы…
          Prihod
          26 августа 2016, 15:52
          0
            bonoman
            26 августа 2016, 15:55
            0
            да, это я понимаю, версия вышла две недели назад… я имел в виду не в курсе ли вы исправлена ли указанная выше проблема в версии 2.2.0-pl2?
              Prihod
              26 августа 2016, 16:01
              0
              в 2.2.0 думаю явно нет т/к данная проблема была озвучена когда была уже 2.4
    Prihod
    06 сентября 2016, 23:47
    0
    Народ у кого были проблемы с импортом из-за наличии в поле символа переноса строки скиньте ссылку та такие файлы импорта с несколькими строками, что бы можно было потестировать фикс данной проблемы
      Некий
      07 сентября 2016, 11:29
      0
      скинул два файла, буду ждать и с большой радостью протестирую.
        Prihod
        07 сентября 2016, 12:25
        0
        получил, спс
    Klike
    07 сентября 2016, 17:14
    0
    Подскажите, пожалуйста, в XLS и XLSX заголовки выводятся оригинальные (pagetitle, article) Как можно их русифицировать?
      Prihod
      07 сентября 2016, 17:15
      0
      никак
        Klike
        18 сентября 2016, 21:21
        0
        Спасибо, было бы удобно! И ещё один момент, можно ли как-то через cron экспортировать отдельные категории (с подкатегориями, как можно сейчас делать из админки)?
          Prihod
          18 сентября 2016, 21:42
          0
          hi, через cron сейчас нельзя т.к для него нет механизма указать какие нужно экспортировать категории
            Klike
            18 сентября 2016, 21:48
            0
            ниже вы говорили о следующей версии компонента, планируется ли что-то из этих двух моментов включить в настройки? :)
              Prihod
              18 сентября 2016, 21:51
              +1
              да, 2 твои пожелания добавлю
                Klike
                18 сентября 2016, 21:52
                0
                Спасибо огромное!
                  Klike
                  18 сентября 2016, 22:06
                  0
                  Пробую через консоль запустить команду, чтобы в будущем через крон запускать:
                  php /var/www/home/www/assets/components/msimportexport/export/export.php?to=xls&type=products&preset=1&token=9asdasdkfnkejrwkjn
                  Выдает:
                  Could not open input file: /var/www/home/www/assets/components/msimportexport/export/export.php?to=xls
                  Что-то не так делаю?
                    Prihod
                    19 сентября 2016, 19:55
                    0
                    я что то не вижу еще одного параметра &h=false который говорит что нужно экспорт сохранить в файл (папка assets/components/msimportexport/upload/), а без него он отправляется в буфер вывода. Вопросы лучше писать через техподдержку для дополнения
    Некий
    08 сентября 2016, 13:18
    0
    Мне вобщем нравится разбираться с плагинчиком, и
    и сейчас импортирую категории… а как их разместитьв XLS файле не ясно.

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

    ну или хотя бы пример ввиде правильной таблицы. Это не критично, просто мнение юзера.
    Некий
    08 сентября 2016, 13:55
    0
    Еще проблемка — в одном XLSX файле товары для импорта в разные категории.

    Товары создаются нормально, на параметр Parent не подхватывается… ни ввиде ID ни русским текстом, ни английским

    В настройках «использовать только родительский каталог — Нет»

    Может я что не так делаю
    Некий
    08 сентября 2016, 14:14
    0
    Извините за флуд, но также не создает новые категории,

    просто в настройках Создавать категорию для товара — Да

    в xls файле у десяти товаров есть столбец с текстом «ТестоваяКатегория»

    в списке при импорте выбрано соотв. поле -parent
      Prihod
      08 сентября 2016, 14:26
      0
      Товары создаются нормально, на параметр Parent не подхватывается… ни ввиде ID ни русским текстом, ни английским
      Извините за флуд, но также не создает новые категории
      Скорей всего не выполняется условие
      5) базовый каталог (категория) и все его подкаталоги должны быть типа «Товар категория». Каталогам будет считаться любая «Товар категория» у которой нет родителя
        Некий
        09 сентября 2016, 10:29
        1
        0
        был не прав — плагин в плане категорий работает здраво!
    Prihod
    09 сентября 2016, 19:01
    +3
    UPD 1.2.4
    -Исправлено: Экспорт связей
    -Добавлено: Импорт изображений в галерею по url. (теперь можно указывать ссылки на изображения на другие ресурсы, скорость импорта соответственно просядет)
    -Улучшено: Скорость импорта больших файлов (проведена оптимизация работы с файлом импорта что позволит получить ощутимый прирост в скорости импорта на больших файлах)

    Для оптимизации импорта также было вынесено в отдельную опцию «Конвертировать кодировку файла в uft-8» автоматическое перекодирования файла в utf-8 по умолчанию которая выключена так что кто импортирует файлы в windows-1251 должны ее включить

    Учтено наблюдение правда оно все же явно не решает все проблемы с не валидным CSV
    Prihod
    15 сентября 2016, 11:07
    +1
    О наболевшем.
    95% обращений в тех поддержку происходит из-за того, что всем лень читать доки к пополнению в частности в примечании есть пункт в котором описано требование к структуре и типу каталога

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

    Поэтому если у вас что то не работает первым делом посмотрите выполняется ли 5-й пункт, потому что как я уже писал 95% проблема из-за этого.

    В следующем обновлении проверка всего этого будет происходить автоматически т.к надежды та то, что кто то внемлет просьбе читать доки нет + в скором времени сделаю видео с подробным описанием опций и принципов работы, надеюсь тем самым убрав еще пару процентов отображений в поддержку т.к некоторые новички просто не понимают принципов работы modx
    Павел
    15 сентября 2016, 17:26
    0
    Добрый день, подскажите пожалуйста, будет ли работать импорт со свойствами созданных через компонент msExtraFields… Просто они там по особому создаются…

      Prihod
      15 сентября 2016, 17:35
      +1
      hi, нет
    Некий
    16 сентября 2016, 10:43
    0
    Добрый день. Как все таки справиться с импортом форматированного текста в поле «контент»?
      Prihod
      16 сентября 2016, 11:07
      +1
      hi, на следующей неделе будет новая сборка, в которой данная проблема будет решена для Excel в случаи с CSV это просто не валидный файл
        Некий
        16 сентября 2016, 12:23
        0
        Здоровски!
    Prihod
    25 сентября 2016, 23:58
    +1
    ImportExport 1.2.5

    -Исправлено: Импорт Excel файла с символом новой строки в ячейке
    -Добавлено: Алиасы для заголовков полей (настройки экспорта)
    -Добавлено: Указание категорий для экспорта через cron (параметр &categories=12,30 через запятую ID категорий)
    -Добавлено: Проверка валидности структуры каталога
      Некий
      27 сентября 2016, 12:06
      0
      Спасибо большое за импорт из поля content
      В плане критики хорошо бы если этот символ новой ячейки не удалялся, а оставался.
      Кому то ведь придется форматировать абзацами тысячи страниц.
      Но все равно — очень хорошо, раз импорт контента работает.
    Adorazel
    29 сентября 2016, 13:00
    0
    Есть проблема.
    Если скрипт импорта наталкивается в ячейке на символ переноса строки, он выдает ошибку — что-то типа

    [2016-09-29 09:23:37] (ERROR @ /var/www/user/data/www/user.site.ru/core/components/msimportexport/model/msimportexport/msie.class.php : 2028) Поле "article" не существует в файле. Пожалуйста, исправьте файл импорта или параметры поля. Строка № 3

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

    Переносы строк появляются от того, что содержимое часто просто копипастится с других сайтов

    Решение было найдено следующее — вырезать эти символы

    $csv[$k] = str_replace(array("\r\n", "\r", "\n"),"",$csv[$k]);

    Предлагаю, внести это исправление на постоянной основе.
      Prihod
      29 сентября 2016, 13:11
      0
      ну так это и понятно т.к в таком случаи твой CSV файл просто не валиден. В таких случаях если есть символ новой строки в ячейки импорт нужно делать из Excel файла
        Adorazel
        29 сентября 2016, 13:48
        0
        В том-то и дело, что импорт происходит из Excel файла, а не из CSV
          Prihod
          29 сентября 2016, 13:49
          0
          скинь мне свой файл
            Adorazel
            29 сентября 2016, 14:09
            0
            yadi.sk/i/51Sgnv0ivtFnn

            В названиях смотри, 11 строка
              Prihod
              29 сентября 2016, 20:31
              0
              завтра исправлю, не учел что в разных операционных системах символ новой строки может кодироваться по разному
                Алексей Андреев
                13 июня 2018, 14:25
                0
                А из-за чего могут не учитываться переносы строк? В эксельнике явно переносы есть:

                В конфиге импорта стоит замена на тег «p», но после импорта всё склеивается в одну строку.
                  Prihod
                  13 июня 2018, 16:44
                  0
                  возможно файл не в utf-8 кодировки. А это поле вообще есть в опции «Список полей:»
                    Алексей Андреев
                    13 июня 2018, 16:55
                    0
                    Не знаю, при сохранении Microsoft Office не даёт выбора кодировки, сохраняем в XLSX. В списке соответствия полей оно есть, грузим в content, на выходе получаем один абзац…
                      Prihod
                      13 июня 2018, 17:22
                      0
                      ну там где то можно это посмотреть. В общем при импорте ищется один из этих символов \r\n, \r или \n и если он находится то происходит его замена на тэг br или p
                        Алексей Андреев
                        22 июня 2018, 13:44
                        0
                        Не нашёл, но попробовал сохранить в CSV, он сохранился в UTF-8, но там видимо переносы строк воспринимаются как новая строка (товар), поэтому получаются сбои.
                        А можете прислать какой-нибудь рабочий файл, в котором корректно получаются переносы?
      Max Roganov
      30 сентября 2016, 13:24
      0
      Добрый день, а в чем может быть проблема при импорте такого списка с товарами:http://prntscr.com/co3zhi
      В списке указаны :pagetitle,parent,price, и ссылка до картинки
      Всего 72 позиции.Проблема в том что компонент создает 1 товар и 71 раз обновляет его
      С чем это может быть связано?

      MODX Revolution 2.5.0-pl (traditional)
      miniShop2 2.4.4-pl
      msimportexport
      1.2.4-beta
      в error logs ошибок нет
        Prihod
        30 сентября 2016, 13:38
        +1
        hi, в файле импорта нет поля которое указано в настройках в опции «Ключ товара, по которому определяется его уникальность»
          Max Roganov
          30 сентября 2016, 14:06
          0
          Гранд Мерси, помогло
      Павел
      18 октября 2016, 14:29
      0
      Добрый день!
      Можно ли запланировать импорт через CRON также как и экспорт?
        Prihod
        18 октября 2016, 14:37
        0
        да
      Иван Чуваев
      21 октября 2016, 11:58
      0
      Добрый день! Подскажите пожалуйста, как настроить CRON.
      Есть какие-то тонкости?
      Интересует параметр &path
      &path=http://mysite.ru/products1.csv
      — так можно написать?
        Prihod
        21 октября 2016, 12:01
        0
        да, а вообще то на странице компонента есть раздел «Импорт через CRON»
          Иван Чуваев
          21 октября 2016, 12:11
          0
          А Вы оказывает платные консультации?
          У меня не получается настроить импорт по CRON. Хостинг БЕГЕТ.
          Вручную все работает замечательно.
          Мой скайп:
          ivchuvaev
      Евгений Webinmd
      09 ноября 2016, 14:14
      0
      Столкнулся с такой проблемой, если какое-то поле пустое, то импорт пропускает товар, причем не важно что за поле.
      Поля создаю через компонент msFieldsManager (по сути упрощенное создание полей для товара) — эти поля нормально видны и в экспорте и в импорте и если их заполнить, то импорт отрабатывает отлично.
      Не у всех товаров одинаковый набор полей, а разбивать на 3-5 файлов не очень удобно

      + в lexicon небольшая опечатка промущен -> пропущен

      $_lang['msimportexport.err_field'] = 'Поле "[[+field]]" не существует в файле. Импорт данного товара промущен. Пожалуйста, исправьте файл импорта или параметры поля. Строка № [[+index]]';
        Prihod
        09 ноября 2016, 14:18
        0
        версия msImportExport?
          Евгений Webinmd
          09 ноября 2016, 14:20
          0
          1.2.9-beta — закомментил пока в строке 2049 msie.class.php так как сайт на локалке, то пока этот момент не беспокоит

          if (!isset($csv[$k])) {
              $out['errors']++;
              $continue = true;
              $this->modx->log(modX::LOG_LEVEL_ERROR, $this->parseString($this->modx->lexicon('msimportexport.err_field'), array('field' => $v, 'index' => $out['rows'])));
              continue;
          }
      Алексей П
      13 ноября 2016, 02:08
      0
      Какая фигня с импортом опций из csv
      Создал опции на вкладке minishop. Они стали доступны при привязке столбцов файла к свойствам товара.
      Выбираю свои опции, а они в поле отображаются в виде options-field_name
      Хотя в качестве ключа я просто задавал field_name. Пытаюсь провести импорт с таким полями и мои опции оказываются пустыми.
      Когда я в ручную поудалял у ключей из полей импорта первую часть «options-», то все норм стало добавляться.
      При этом механизм сохранения настроек полей для меня загадка. Поменял, сохранил, загрузил новый файл, поля слетели. Дальше опять поменял, сохранил, перезагрузил страницу. Вроде поля сохранились.
      Т.к. сохранение полей для меня осталось загадкой я решил поменять ключи в самих опциях в minishop, добавив префикс options-. Вернулся обратно в настройки полей, выбираю свои опции, а у них ключи уже с двойным префиксом вида «options-options-»
        Prihod
        13 ноября 2016, 11:29
        0
        hi, у тебя походу minishop 2.2.* обнови его до последней версии 2.4.5 pl и удалять «options-» не нужно
          Алексей П
          13 ноября 2016, 13:18
          0
          Да, была старая версия minishop. Спасибо.
          Может кому-нибудь поможет. Скачивал minishop не от modstore, а с обычного modx. Из-за этого самая свежая версия была 2.2.*
          Сменил поставщика и скачал обновление
      Алексей П
      13 ноября 2016, 18:20
      0
      Еще одна проблема всплыла.
      Пытаюсь импортировать категории через csv файл. Структура такая же как и при импорте товаров, но при загрузке файла вываливается ошибка.

      Код: 404 Not Found
      {"success":false,"message":"action_err_ns","total":0,"data":[],"object":{"code":404}}
        Prihod
        14 ноября 2016, 13:36
        0
        1)дай ссылку на файл импорта
        2) теперь импортировать отдельно категории не обязательно их можно указать в импорте продукта через parent и если их нет то они будут созданы
        3) Касается всех, если возникли какие то проблемы с дополнением то пишите через modstore.pro/cabinet/tickets/ т/к это удобнее и не захламляет эту страницу, а то она уже грузится чуть ли не минуту
          Алексей П
          14 ноября 2016, 14:28
          0
          1) yadi.sk/d/3VeUiXW6yan8J
          2) про такую функцию знаю, но при автоматическом создании категории опции не подгружаются. Т.е. придется после импорта добавлять опции к новым категориям и после этого еще раз импортировать товары, чтобы опции добавились. В моем случае проще сначала создать категории, добавить к ним опции, а потом уже производить импорт.
          3) буду иметь в виду
            Prihod
            14 ноября 2016, 22:00
            1
            0
            1) у тебя не правильная структура файла, в нем должны быть только название категорий и подкатегорий т/к при его загрузки у тебя не будет возможности указывать какое поле что значит как это делается для импорта товара. Вот так должен выглядеть твой файл импорта
            Каталог;Постельное белье|Детское постельное белье
            Постельное белье;Постельное белье (sub category1)|Постельное белье (sub category2)
            Обрати внимание что указывать нужно от родительского каталога, а также имеет значение последовательность т/е в каждой последующей строке могут использоваться название категорий которые уже были созданы в предыдущих. В итоге ты получишь такое дерево каталогов
            2) Обнови дополнение до 1.2.10 т/к в одном из обновлений я там затер один участок года импорта категорий
          Василий Наумкин
          14 ноября 2016, 22:15
          +1
          Вот сейчас обидно было


          Но да, все вопросы по платным дополнениям нужно задавать в поддержке магазина. Не знаю, зачем ты взялся отвечать на них прямо здесь.
            Prihod
            14 ноября 2016, 22:22
            +1
            )) ну я имею ввиду не генерацию стр/ а ее рендеринг в браузере, у меня macbook pro с 16 Г и пока все прорендирится проходит достаточно времени что бы вызвать неудобство
              Василий Наумкин
              14 ноября 2016, 22:24
              0
              Хм, у меня всё шустро на маке с 8гб. Браузер Chrome, может в этом разница?

              Хотя, я замечал такие проблемы пару раз, может из-за плагинов.
                Prihod
                14 ноября 2016, 22:30
                0
                да я тоже в Chrome, но у меня как бы всегда много вкладок открыто + я его практически не закрываю может просто где то течет память и если на этой странице такое только у меня значит проблема на моей стороне
                Prihod
                14 ноября 2016, 22:31
                0
                а может еще какое расширение для браузера затормаживает
      Igor Ivanov
      16 ноября 2016, 13:01
      0
      Добрый день! Не получается импортировать в определенную подкатегорию. Структура такая: корневой каталог «Каталог», в нем есть категория «Увлажнители», в ней категория «Ультразвуковые», в ней категория «Electrolux». Но название категории «Electrolux» не является уникальным, есть категории с тем же названием в других разделах «Каталога». Как мне импортировать товар именно в Увлажнители->Ультразвуковые->Electrolux? В поле parent прописать Увлажнители|Ультразвуковые|Electrolux или Каталог|Увлажнители|Ультразвуковые|Electrolux? Пробовал и так и так, но, почему-то закидывает в Electrolux, который совсем в другой категории, это вообще возможно, импортировать в определенную подкатегорию, если есть еще другие подкатегории с таким же названием?
      Александр
      02 декабря 2016, 17:08
      0
      Добрый день. Prihod, а если товары уже есть, и я захочу обновить их alias, при этом в настройках будет указан уникальный ключ aricle, они обновятся без проблем? дублей не будет товаров? или ошибок типа товар уже есть с этим url?
      Еще интересует вопрос по добавлению своих полей из минишопа, можно ли их подключить в таблицу импорта для выбора? Я так понимаю там они 100% будут не все.

      спасибо.
        Александр
        02 декабря 2016, 17:38
        0
        Prihod, и еще вопрос. Через крон есть возможность настроить обновление цены и остатков, если файл лежит на другом сайте.

        спасибо.
        Prihod
        02 декабря 2016, 18:48