Последние темы


CatalogFill - Как импортировать XML\JSON файл с товарами (только pagetitle и 1 tv поле(то же что и pagetitle)) по разным каталогам?

  • Подскажите пожалуйста в каком формате лучше всего импортировать файл (есть xml,json, могу конвертировать в любой необходимый)
    Пример товара в файле сообщением выше.

    Самый легковесный формат это CSV. Но ограничения по функционалу есть только у формата XML. Выбирайте любой другой, если нужен импорт категорий.

    Под лучше всего импортировать я имею ввиду, что бы можно было, к примеру, импортировать сразу файл целиком(у меня тот 120 мегабайт размером) и по разным категориям(только обновить уже импортированные по разным каталогам не удалив никаких категорий\ресурсов а если ресурс отсутствует - пропустить)

    Думаю, 120 МБ Вы можете импортировать только, если увеличите ограничения на память и на время выполнения скрипта у себя на сервере (в настройках PHP). Но такой объем лучше всего импортировать по Крону, там не должно быть ограничений на время исполнения скрипта. Можно запустить скрипт cron.php из командной стоки (подробнее в документации).

    <Color1>tv 10<Color1/>
    

    Тут две ошибки.

  • Да, пробел случайно поставил после tv. Не подскажете какая вторая ошибка?)
    Edited:
    Понял, слеш не там)
    Пересмотрел файл, походу когда копипастил случайно передвинул

  • Появилась проблемка - не обновляются товары когда я с помощью xml импортирую (в csv не получилось конвертировать) =(
    Есть 6 больших файлов по 500 мб, поставил в .htacces корневом

    php_value max_execution_time 86400
    php_value max_input_time 86400
    php_value upload_max_filesize 550M
    php_value memory_limit 512M
    

    Но при импорте через компонент оно спустя несколько минут выдает Error -1

    Пробовал в хостинге(через Cpanel) импортировать по крону: ввел

    0 * * * * "название моего сайта"core/components/catalogfill/cron.php 24(ID каталога) item import_file.xml
    

    Но товары не обновляются =(
    Подскажите пожалуйста где может быть загвоздка (если дело в рам, то можно увеличить - на хостинге 3 гб)

  • Смотрите сообщение ошибки в логах.

    Какая версия CatalogFill у вас?

  • 2.4.10-pl

  • Если понадобится, могу разделить по 200-300 мб, но чем больше размер(и меньше файлов) тем лучше.
    Что бы по пол часа не сидеть импортируя в каждый каталог.
    Кстати, в файлах идут все данные товаров в перемешку(в 1 файле есть данные ,к примеру, товаров которые в 11\13 и 23 каталогах а в 2 есть данные о 11\ 18 и 20 и т.д. - Всего каталогов 15, если бы было меньше вручную сделал бы разделив на маленькие куски, но я попробовал 50 мб импортировать и там тоже выпала error -1, так что задал вопрос здесь =( )

  • В чём проблема посмотреть журнал ошибок? Если ошибок нет в журнале в админке, значит они есть на сервере. Если не знаете где смотреть, спросите в службе поддержки.
    Если не хватает памяти на сервере, чем я могу помочь?

  • [2019-08-21 15:01:45] (ERROR in modProcessor::run @/путь к сайту/core/model/modx/modprocessor.class.php : 177) Flat file processor support, used for action import with path /путь к сайту/core/components/catalogfill/processors/mgr/import.php, is deprecated since version 2.7.0. - В логах
    Что это может значить?

  • На сайте установлен MODX 2.7.1
    Окей, сейчас отключу

  • Что это может значить?

    В настройках системы нужно отключить "log_deprecated". Это не важно.

  • Отключил log_deprecated и в логе осталась только ошибка кэша(PHP warning: Illegal string offset 'cls')
    Значит ошибка на стороне сервера и нужно .htaccess откредактировать?

  • Я долго мучался с настройкой htaccess, но постоянно выводится либо Error -1(до чистки кеша из includes), либо Error 500(после чистки). Так же первый раз когда сегодня заполнял...

    Строки которые добавил в htaccess были такого вида:
    php_value max_execution_time 86400
    php_value max_input_time 86400
    php_value upload_max_filesize 1G
    php_value post_max_size 1G
    php_value memory_limit 256M

    ... в логах выпала такая ошибка:
    [2019-08-28 07:32:04] (ERROR @ /home/мой никнейм/название сайта/core/xpdo/om/xpdoobject.class.php : 240)
    Array
    (
    [0] => HY000
    [1] => 2006
    [2] => MySQL server has gone away
    )
    [2019-08-28 07:32:04] (ERROR @ /home/asdqwrfc/ch-top.com/core/xpdo/om/xpdoobject.class.php : 1452)
    INSERT INTO modxji_session (id, access, data) VALUES ('61a6777f592d53fe3337e8cfcf05ec80a', 1566966724, 'modx.user.0.resourceGroups|a:1:1:{s:3:"web";a:1:0;s:1:"6";}}modx.user "6";}}modx.user..attributes|a:2:{s:3:"mgr";a:5:{s:16:"modAccessContext";a:1:{s:3:"web";a:1:{i:0;a:3:{s:9:"principal";i:0;s:9:"authority";s:1:"0";s:6:"policy";a:1:{s:4:"load";b:1;}}}}s:22:"modAccessResourceGroup";a:0:{s:17:

    • здесь куча символов *

    Array
    (
    [0] => HY000
    [1] => 2006
    [2] => MySQL server has gone away
    )
    Вылет случился из-за I/O(резко повысился до 2 мб) и крашнулось все.

    Подскажите пожалуйста глупому, это ошибка моя или со стороны хостинга?

  • Подскажите пожалуйста глупому, это ошибка моя или со стороны хостинга?

    У любого хостинга есть лимиты (в том числе размер БД), возможно вы их исчерпали. Обратитесь в службу поддержки хостинга. Когда база данных ломается это похоже, что закончилось место на диске.

    php_value memory_limit 256M

    Это маловато, если каталог очень большой (больше 20 тыс. товаров).

  • Размер БД на хостинговом тарифе - безлимит, впрочем я уже обратился и жду ответа с их стороны.

        php_value memory_limit 256M
    

    Как считаете, какое будет оптимальное количество под 200 к?
    Просто когда я ставил хоть 256 хоть 512 - в админ панели хостинга все равно могло сьедатся вплоть до 2.5 гб из 3.

  • Как считаете, какое будет оптимальное количество под 200 к?

    Под 200К и гигабайт не грех взять. Но импортировать надо по кусочкам, а не всё разом.

  • Кстати, я так и не понял, у Вас вообще хоть что-то импортируется или сразу ошибка и всё стоит?

 

Последние комментарии

  • @Yiliy

    то есть без имени

    Видимо потому что у вас отключено, а в XML алиаса я не увидел

    //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false;

    Читать далее
  • Y

    Проблема была оказывается в том, что оно не видело
    <Title>pagetitle</Title>
    Я поменял на
    <Title><item>pagetitle</item></Title>
    и все импортировалось успешно но теперь в каталогах вместо url ресурсов отображается /сайт/каталог/.html
    то есть без имени и после перехода на страницу товара появляется ошибка 403

    Читать далее
  • M

    Поменялся дизайн.
    Новая корзина, всплывающие окна и прочие фишки сверстаны. Нужно переподключить, разобраться с возможным конфликтом JS.
    Что, где и как лежит -- покажу.

    Скайп mas_hate

    Читать далее
  • В $cf_config['imp_xml_structure'] должен быть XML, который в файле повторяется. Также нужно настроить
    параметр $cf_config['imp_xml_itemsparent_path']. Покажите полный файл, который импортируете.

    Читать далее