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


CatalogFill после НГ импортирует не все товары

  • MODX Revolution 2.5.0-pl
    CatalogFill 2.4.8-pl

    Здравствуйте, конфигурации импорта не менялись с августа месяца, все работало как часы до НГ, после праздников импорт почему то добавляет не все товары из Файла

    Стоит проверка соответствия по ТВ - КОД ТОВАРА (все уникальные)

    //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
    $cf_config['imp_chk_tvid_val'] = 64;
    

    Немного потыкав, понял, если поменять код на те товары, которые перестали импортироваться на произвольный - они добавляются..

    Я так понимаю импорт стал считать, что товары с данным кодом уже добавлены и обходит их. Но их реально нет. Раньше удалял / добавлял все без проблем. Подскажите от чего такое может быть.

  • Там вроде есть настройка заменить существующие. Может таким макаром импортируются?)

  • @kostya_slam она вкл. При импорте ставлю радио переключатель на ОБНОВИТЬ. Как и всегда. Раньше те товары, код которых уже есть - пропускались, те которых нет добавлялись. А тут рандомно какие то добавляет, какие то пропускает..

  • Добрый день!
    Импортируете из excel? У вас где-нибудь остались старые файлы импорта excel и бекап ранних версий сайта?

    Если да, то попробуйте:

    1. Взять файл, который гарантировано импортировался корректно, поменять в нем только одно поле на легко проверяемое значение, например цену, на 777 рублей.
      И импортировать в новую версию сайта. Если все сработает, значит ошибка в вашем новом файле импорта.

    Если нет, значит идем дальше:
    2) Берем бекап сайта и на нем проверяем импорт из старого файла. Если все импортируется, попробуйте грузануть новый файл. Если и тут все сработало, значит что-то меняли на сайте, скорее всего в конфигах CatalogFill.

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

    Я всегда храню бекапы сайта и старых прайсов, для таких случаев.

  • Участник @e.a.novgorodov написал в CatalogFill после НГ импортирует не все товары:

    Я так понимаю импорт стал считать, что товары с данным кодом уже добавлены и обходит их. Но их реально нет. Раньше удалял / добавлял все без проблем. Подскажите от чего такое может быть.

    Еще вопрос, импортируете в ресурсы модх или в свою базу? И где смотрите, что этих товаров нет? В SQL базе сайта или просто по выводу в каталоге?

  • @slaad бэкап делал на 2 недели назад - толку ноль, завтра попробую найти старый файл импорта

  • @slaad в самом ModX, а если в БД смотреть, это в какую таблицу?

  • @e.a.novgorodov
    В бд это должна быть modx_site_content

  • @e.a.novgorodov

    А тут рандомно какие то добавляет, какие то пропускает..

    1. Удалите все файлы в папке кэша /core/cache/.

    2. Сделайте файл поменьше и проверяйте на нем. Если найдете один товар, который всегда не добавляется, а должен, то проверьте сами в базе данных. Может где-то есть этот код товара, но не привязан к документу.

  • @slaad @Andchir сделал новый файл выгрузки, прям 100% рабочий и все тестил на нем (маленький, на 7 товаров)

    1. очистил папку /core/cache/ - Безрезультатно
    2. прошарил БД в таблицах site_content, site_tmplvar_contentvalues (ну и все что было похожее тоже просматривал) - товаров с таким кодом/названием точно нет
    3. пробовал выкладывать в другой каталог, в котором априори не было ни одной позиции - вообще не добавляет
    4. ошибок не выдает
    5. пробовал переустанавливать сам Catalogfill - безрезультатно
    6. когда при импорте выбираешь не ОБНОВИТ а ДОБАВИТЬ - добавляет все что есть, но тогда получаются дубликаты.
      Получается файл то рабочий, конфиг рабочий ( 100% ничего не менялось, доступ только у меня). Я понимаю, что где то в БД трабла, а как найти то (((
  • @slaad @Andchir О!! нашел, блин извините!! в таблице site_tmplvar_contentvalues есть реально код товара, который не добавляется!
    А как сбросить то те, которых по факту то нет? и почему они не удалились не понимаю.

  • @slaad @Andchir
    Вот в БД код

    0_1484041966199_upload-cb047711-593b-4e7a-975e-21e3cb222e03

    когда перехожу по contentid (в адресной строке админки) для редактирования ресурса пишет, что ресурса нет
    0_1484042053262_upload-07987c22-c97d-41aa-b3b6-f657908db8fe

  • Вот только хотел написать, что плохо искали))

    Все понятно, у вас ресурсы удалились, а связанные с ними ТВшки остались.
    Тут лучше Andchir поможет, я с ходу не могу придумать, как побороть.

  • @slaad а как эти ресурсы удалялись?

  • @slaad так же через catalogfill, конфиг прогоняет коды в файле импорта и "ставит на удаление" потом очищаю корзину
    я так делал каждый день и не по разу на протяжение полугода, проблем не возникало

    Вот кусок кода импорта "на удаление"

    //разбивка по столбцам при импорте и экспорте (content|tv|category)
    $cf_config['content_row'] = array(
        array('Код товара',array(64,'tv')),    
    );
    
    //значения по умолчанию при импорте или проверка при экспорте
    $cf_config['imp_content_default'] = array(
        'content' => array(
    		'deleted' => 1,
            //'createdon' => strtotime("now")
        ),
        'tv' => array(
            //7 => 0
        )
        /*
        'category' => array(
            7 => array(
                'class_key' => 'CollectionContainer'
            ),
        ),
        */
    );
    
  • @e.a.novgorodov надо ждать Andchir

  • Надо писать скрипт, который вычистит вам БД от лишних значений ТВ. Откуда они взялись вариантов очень много.

  • Вот примерный запрос для phpMyAdmin чтобы найти все лишние ТВ:

    SELECT * FROM `modx_site_tmplvar_contentvalues` WHERE `contentid` NOT IN(SELECT `id` FROM `modx_site_content`)
    

    Удалять найденные осторожно, т.к. тестировал я очень мало.

  • @Andchir ДА! то что нужно! в БД запрос по шаблону делаю - находит реально те ТВ, которых не привязаны!
    Пытался как то обработать запрос так, чтобы он еще удалял сразу их, но я в этом не але, поэтому прям готовое решение не запилю))
    Спасибо огромное! реально помогли!

 

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

  • Z

    Спасибо, действительно проще создать отдельно.

    Читать далее
  • Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]].

    Можно не использовать [[+addit_data]], а выводить параметры по-отдельности.

    Цитата из документации:

    [[+shk_любой доп.параметр]] - любой доп. параметр, выбранный при добавлении товара в корзину (из [[+addit_data]]), например [[+shk_param1]].
    Если параметры сделаны в виде чекбоксов, то чтобы вывести отдельно каждый из них, нужно добавлять индекс (номер от нуля) для параметров следующих за первым.
    Пример: [[+shk_param1]], [[+shk_param1_1]], [[+shk_param1_2]] ...
    [[+shk_любой доп.параметр_price]] - цена доп.параметра. Пример: [[+shk_param1_price]].

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

    Доброго времени суток. Не могу разобраться, как передать данные migx-поля в корзину в плейсхолдер без "дублирования" в [[+addit_data]]
    Суть в чем: У меня есть 2 цены у товара (со скидкой и без скидки) Форма для отправки в корзину:

    <form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]].html" method="post"> <input type="hidden" name="shk-id" value="[[*id]]" /> <input type="hidden" name="shk-name" value="[[*pagetitle]]" /> <input type="hidden" name="price_old__[[*id]]__add" value="[[*price_old]]" /> <input type="hidden" name="shk-count" value="1" /> <div class="product-price"> Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span> Старая цена - <span class="shk-price-old">[[+price_old]]</span> [[!+shk_currency]] </div> <div class="padding-lr-30"> <h5>Дополнительные услуги</h5> [[*param1]] </div> <div class="product-price"> <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button> </div> </form>

    Данные со "старой ценой" в корзину попадают нормально и выводится в нужном месте в плейсхолдере:
    [[+shk_price_old]]
    Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]]. Как сделать чтобы старая цена не выводилась в [[+addit_data]]? Или может я как то не правильно передаю MIGX-параметр в корзину ? Заранее спасибо.

    Читать далее
  • Фотографии, как я понял, это второй вопрос. Я по нему пока ничего не отвечал и не просил информации. Это не отменяет того, что в вашем конфиге есть ошибка, о которой я писал выше. Не нужно задавать разные вопросы в одной теме, чтобы не было путаницы.
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

    Читать далее