Создание сайтов на 1С Битрикс стало еще просто, используйте готовые шаблоны! Подключайте современные модули, делая ваш сайт еще эффективнее!
Например, парсер сайтов

Натали - синхронизация каталога

Бесплатно
Больше не нужно тратить уйму времени, чтобы добавить товары “Натали” на ваш сайт, ведь теперь в один клик вы сможете синхронизировать весь каталог магазина с вашим ресурсом, да еще и абсолютно бесплатно! И это возможно благодаря нашему модулю, который позволяет поддерживать актуальную информацию для пользователей вашей площадки, уделяя этому минимум времени. Хотите синхронизировать более 6000 товаров всего за 5 минут? Сделайте это вместе с нами!
Внимание! Данный модуль не удаляет и не изменяет ранее добавленные вами товары.



Первоначальный импорт



Шаг 1.

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



Выбор опции "Выгружать расцветки в разные карточки товара"

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



Шаг 2.

Нужно связать разделы из каталога Натали с разделами, которые есть в вашем инфоблоке.



Шаг 3.

Выбирается привязка цен и свойств каталога Натали с вашим.

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

Далее выбирается привязка свойств Натали со свойствами нашего инфоблока. Если мы выберем "Создать новое", то в инфоблок будет добавлено свойство нужного типа с постфиксом в конце "_NATALI".

При выборе свойства типа "Справочник" - "Создать новое" - будет добавлен highload-блок.



Шаг 4.

В начале происходит первоначальный сбор информации перед импортом обо всех товарах из выбранных категорий. В случае выбора большого количества разделов эта операция может занять до 10 - 15 минут.

Далее появится окно с количеством товаров и разделов и кнопкой "Начать", по нажатию на которую начнется импорт. В любой момент вы можете нажать "Пауза" и посмотреть, как происходит импорт товара в каталоге.



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



Если импорт одного товара длится более 15 секунд, рекомендуем проверить и отключить обработчики в php_interface/init.php



Обновления



После настройки и импорта товаров зайдите в "Настройка обновлений" и нажмите на кнопку "Запустить автообновление".

Данная кнопка создаст 2 агента, которые будут загружать обновления с Натали с заданным интервалом.

При этом возможно следующие вариации обновлений товаров:

изменение, удаление, добавление новых.



Дополнительно вы можете посмотреть логи импорта и обновлений в "Журнале событий".



Удаление товаров



Зайдите во вкладку "Удаление товаров", и там вы сможете увидеть количество импортированных товаров.

При нажатии "Удалить" будут удалены товары, загруженные с помощью данного модуля, а также относящиеся к ним торговые предложения и фотографии.



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



Обмен с 1С



В случае если обмен с 1С деактивирует ваши товары, можно добавить следующий обработчик:
<?php



AddEventHandler('catalog', 'OnSuccessCatalogImport1C', 'onSuccessCatalogImport');

function onSuccessCatalogImport()

{

    $CATALOG_IBLOCK_ID = 5; //Id инфоблока с каталогом

    $OFFERS_IBLOCK_ID  = 6;  //Id инфоблока торговых предложений



    $res = CIBlockElement::GetList(

      [],

      [

          "IBLOCK_ID" => $CATALOG_IBLOCK_ID,

          "ACTIVE" => "N",

          "!PROPERTY_IS_PARSED_NATALI"=>false

      ]

    );

    $el = new CIBlockElement();

    while($item = $res->GetNext())

    {

        $el->Update($item['ID'], ["ACTIVE"=>"Y"]);



        $resOffer = CIBlockElement::GetList(

            [],

            [

                "IBLOCK_ID" => $OFFERS_IBLOCK_ID,

                "ACTIVE" => "N",

                "PROPERTY_CML2_LINK" => $item['ID']

            ]

        );



        while ($offer = $resOffer->GetNext())

        {

            $el->Update($offer['ID'], ["ACTIVE"=>"Y"]);

        }

    }



    \Bitrix\Main\Loader::includeModule("cadesign.natali");

    $sectionsBindings =  \Cadesign\NataliApi\Bindings::get('sections',true);

    $res = CIBlockSection::GetList(

        [],

        [

            "IBLOCK_ID" => $CATALOG_IBLOCK_ID,

            "ACTIVE" => "N",

            "ID" => $sectionsBindings

        ]

    );



    $bs = new CIBlockSection();



    while ($section = $res->GetNext())

    {

        $bs->Update($section["ID"], ["ACTIVE"=>"Y"]);

    }

}






По вопросам работы  модуля natali37@cadesign.ru  

Работаем по будням с 9 до 18 по МСК

x