CatalogFill не обновляет документы, а создает новые

Всем привет

Подскажите, подалуйста, такой момент:

У меня есть древо документов:

-каталог
— категория 1
— документ 1.1
— документ 1.2
— категория 2
— документ 2.1
— документ 2.2

и так далее

Через catalog fill хочу обновить древо, конфигурация такая:

$cf_config['content_row'] = array(
    array('категория',array(9,'category')),
    array('Документ',array('pagetitle','content')),
    array('Автор',array('longtitle','content')),
    array('Картинка',array(11,'tv')),
);


Все работает, кроме того, что категории с документами добавляются, а не обновляются

То есть

Загружаю excel файл с данными:

Категория	        Ссылка	        Автор    Картинка
Категория 1	документ 1.1	автор 1	картинка 1
Категория 1	документ 1.2	автор 1	картинка 2
Категория 1	документ 1.3	автор 1	картинка 3
Категория 1	документ 1.4	автор 1	картинка 4

Категория 2	документ 2.1	автор 1	картинка 1
Категория 2	документ 2.2	автор 1	картинка 2
Категория 2	документ 2.3	автор 1	картинка 3
Категория 2	документ 2.4	автор 1	картинка 4

Создаются все категории и документы, даже если такая категория уже есть

Что и где в конфигурации нужно указать?

Спасибо

10 комментариев

avatar
Я уже не помню CataloFill, вам лучше воспользоваться EditDocs, видимо.
avatar
что-то не могу найти примеры импортируемых файлов
не подскажете, где можно посмотреть?
avatar
Да просто установите модуль, сделайте какой-нибудь экспорт — и все увидите. Очень удобный инструмент.
avatar
сделал экспорт, стало понятнее, но:
у вложенного документа есть id родителя, и сравнение есть такой документ или его нет идет как раз по родителю

в импортируемый файл не реально же вставить id родителя

или я что-то не догоняю?
avatar
1) В импортируемый файл можно вставить все, что угодно — хоть ТВ, хоть ИД шаблона, хоть ИД родителя. Главное — соответствующим образом назвать колонки в Эксель.

2) А что мешает сравнивать не по родителю, а по ИД самого документа?
avatar
мне необходимо в каталог добавить документы, разбитые на подкатегории, id родителя я не знаю (я знаю только pagetitle родителя)

допустим, есть каталог:
каталог
-телефоны
--самсунг
--эппл

-авто
--лада
--бмв

мне нужно добавить один новый телефон нокиа, два новых авто и новую категорию холодильники с двумя товарами снежок и морозко

и нет возможности прописать к каждому товару id родителя

как быть в такой ситуации? вроде достаточно стандартная задача

Спасибо
Комментарий отредактирован 2019-08-03 15:37:52 пользователем gregst
avatar
В этом же файле конфигурации ниже есть параметры импорта.
— Вам нужно отключить параметр «всегда создавать новый товар»
— Указать плейсходлер шаблона или номер TV по которому будет сопоставление товара для обновления
avatar
есть вот такой параметр:
//по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_field'] = 'pagetitle';

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

но мне надо проверять по pagetitle категории
avatar
Возможно в админке в разделе модуля catalogFill у вас стоит чекбокс Добавить, а не Обновить. Нужно поменять на Обновить.
Комментарий отредактирован 2019-07-31 23:36:35 пользователем Kanby
avatar
стоит именно обновить
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.