Quad.Wiki

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Обязательно сделайте бекап сайта перед удалением характеристик, или убедитесь у вашего хостера, что есть бекап сайта и на какую дату.

Если у вас уже была настроена выгрузка в Bitrix старым способом и на сайт выгружались “дублирующиеся” для каждого раздела характеристики, то перед новой выгрузкой нужно с сайта удалить все характеристики, которые добавлены программой. Для этого нужно в админке сайта отсортировать характеристики по Символьному коду и удалить все характеристики, у которых он начинается с PRM_

 как удалить характеристики?

Вы можете удалить их любым способом, которым умеете.

Можно отфильтровать по символьному коду

Ввести фильтр PRM_%

Внизу окна поставить птичку “Для всех” и нажать “Удалить”

Если удаление зависает и характеристики не удаляются, то попробуйте удалять их частями, например по 100 штук или обратитесь в техподдержку Bitrix

Если у вас есть сайт, на нем уже есть товары, которые никак не связаны с товарами в нашей программе (т.е. в программу они не загружены, не соответствуют разделы, внешние коды), то нужно синхронизировать информацию между программой и сайтом, перед тем как запускать выгрузку по API. Для этого можно или удалить всё с сайта (разделы, товары, характеристики), либо указать в программе для разделов и товаров соответствующие символьные и внешние коды.

Если на сайте нужно сохранить и характеристики, при этом изначально они не были загружены в программу и никак не синхронизированы, то обратитесь в техподдержку, скорее всего настройка синхронизации будет платной.

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

1. Добавить задание Sync.X

Что такое Sync.X?

Задание с типом “Синхронизация Bitrix”

Задание можно назвать, например, “выгрузка контента в Bitrix”

Тип запуска установите “Вручную” и уберите птичку “Акт.”, сохраните настройки.

Это задание будет выгружать товары с фото и описанием на сайт.

2. Добавить действие в Quad.Magic

Что такое Quad.Magic?

Действие должно запускать задание Sync.X, которое добавили в предыдущем пункте. Действие должно срабатывать после всех действий, которые программа выполняет для контента. Обычно эти действия настроены в группе Quad.Magic полного обновления, либо есть отдельная группа, по добавлению новых товаров.

Можно добавить это действие после экспортов каких-то файлов обновлений для площадок. Можно его добавить и перед экспортами, если экспорты у вас выполняются долго - выгрузка в Bitrix по API не будет блокировать работу других действий, а будет выполняться в фоне.

В моем примере есть отдельная группа для выгрузки новых товаров и я добавляю действие в список последним. Действие с типом “Действие Sync”

В Настройка 1 указываю задание, добавленной в п.1 данной инструкции.

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

3. Sync.X вкладка “Выгрузка API”

Далее нужно внести настройки выгрузки в действии Sync.X, которое добавили в п.1

Указываете настройки подключения к API, ключ и папки, которые настраивали по этой инструкции.

Адрес папки API - ссылка на сайт на папку, полная, с адресом сайта

Папка с фото на хостинге - путь относительно начала сайта к папке с картинками

Ключ API - ключ, который указывали в файле quad_settings.php

Пример заполненных настроек:

ID шаблона экспорта - для отбора товаров, выгружаемых данным действием, используется отбор Автозаполнением для шаблона экспорта. Шаблон можно добавить просто пустой, без колонок, либо использовать существующий шаблон “Bitrix Full”, если у вас такой есть.

В моем примере ID = 17.

Можете сразу добавить действия в Автозаполнение, для отбора товара для этого шаблона.

И выполните эти действия.

Поле ID инфоблока - используется в случае, когда у вас на сайте каталог товаров создает из большого количества инфоблоков (например, для каждого раздела свой инфоблок). В этом случае вам нужно создать какое-то пользовательское поле и заполнить его через Автозаполнение айдишниками инфоблоков в зависимости от групп товара в программе, или каких-то других условий, по которым у вас товары делятся на инфоблоки.

Если у вас только 1 инфоблок с товарами или 2 инфоблока, товары + торговые предложения, то это поле оставляйте пустым. Выгрузка торговых предложений осуществляется с помощью отдельного такого же действия, в которое отбираются только товары-предложения.

Для таких шаблонов, как “Аспро шины и диски”, где используется какое-то конечное количество инфоблоков, это поле так же нужно оставлять пустым, а для каждого отдельного инфоблока делать отдельную настройку выгрузки.

ID инфоблока - здесь указывается ID инфоблока с товарами, в который будет произведена выгрузка. Или ИД инфоблока с торговыми предложениями, если это действие выгружает их.

ИД инфоблока с товарами можно посмотреть, например, здесь:

В моем примере ИД = 26. Настройки выглядят так:

Шаг выгрузки - используется для разбивки количества выгружаемой информации. Оставляйте 100. Если у вас сайт размещается на выделенном сервере, то можете поставить 200 или больше. Значение по умолчанию 100.

Шаг контент - используется для разбивки выгружаемых свойств и их значения. По умолчанию 5000. Рекомендуется использовать эту настройку только для уменьшения количества, если выгрузка не проходит.

Товаров в 1 выгрузке - количество товаров, которые выгружаются на сайт за 1 цикл выгрузки. По умолчанию стоит 10000000 , т.е. чтобы за 1 раз выгружались все товары. При большом количестве товаров рекомендуется здесь установить, например, 10 000. На слабых хостингах 1 000 или меньше, если выгрузка не проходит.

Далее нужно поставить птички для выбора, какая информация будет выгружаться. Если нужно добавлять товары и обновлять их контент, то птички должны стоять так:

Птичку “Выгружать бренды” можно не ставить, если у вас бренды на сайте реализованы не отдельным инфоблоком, а просто свойством-списком или текстовым.

4. Sync.X вкладка “Группы”

Здесь указываются настройки для выгрузки групп (разделов) на сайт.

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

Все - выгружаются все группы.

Только выбранных товаров - выгружаются только группы (и их вышестоящие группы) товаров, которые отобраны с помощью Автозаполнения для шаблона экспорта с ИД, указанным во вкладке “Выгрузка API”.

Группы, которых нет в программе по Внешнему коду - здесь указывается, что делать на сайте с группами, которых нет в программе.

При первой выгрузке рекомендуем оставлять “Ничего не делать” и что-то менять в этой настройке только тогда, когда убедились, что выгрузка по API работает без ошибок и сбоев.

Внешний код группы из поля - здесь указывается поле, из которого программа берет Внешний код для синхронизации групп. По умолчанию bitr_code, так и оставляйте.

ИД инфоблока - указывается ИД инфоблока, в который выгружаются группы на сайте. Если у вас 1 инфоблок товаров, то здесь указывается тот же инфоблок, что и во вкладке “Выгрузка API”. Если на сайте для каждой группы свой инфоблок, то их ИД нужно будет указать в карточке каждой группы в поле Метка 5, а эту настройку оставить пустой.

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

5. Sync.X вкладка “Бренды”

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

Слева выбирается тип свойства бренда.

Настройки зависят от типа свойства, в которое выгружается бренд.

Зайдите в Свойства инфоблока

В настройках таблицы нужно отобразить колонку Внешний код.

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

Внешний код, если вы включили колонку, отображается в конце таблицы.

ИД инфоблока нужно указывать, если тип вашего свойства Бренда “Привязка к элементам”

Кликните на название свойства - откроются его настройки, где можно будет увидеть ИД инфоблока с брендами.

После того, как сделали настройки в предыдущих трех вкладках, рекомендуем вам сделать пробную выгрузку и проверить, что на сайт выгрузились разделы и бренды. Если у вас уже были на сайте товары и разделы, посмотреть что они не задублировались. Перед выгрузкой поставьте только 2 птички, Группы и Бренды.

Если все ок, то должны получить примерно такой результат:

Проверьте на сайте, что есть группы и что они соответствуют программе.

А так же бренды, в инфоблоке или в свойстве.

6. Sync.X вкладка “Товары”

Здесь указываются настройки выгрузки товаров на сайт.

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

Обновить существующие (контент) - поставьте птичку, если программа должна обновлять фото, описание и характеристики у существующих на сайте товаров.

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

Поле с картинками - указывается поле программы, в котором хранятся названия картинок. По умолчанию photo_list. Если понадобится, можно указать другое поле. В этом поле должны быть путь и название файлов картинок, относительно папки quad/api/images на хостинге. Разделитель между картинками | (вертикальная черта). Пример:

21\img_rd21089_1.jpg|21\img_rd21089_1.jpg|21\img_rd21089_2.jpg|21\img_rd21089_3.jpg

Настройки выгружаемой по товару информации

Обновить фото - если не стоит птичка, то у существующих на сайте товаров не будут перезаписываться фото.

Картинка анонса отдельно - если стоит птичка, то первое изображение в списке будет выгружено в картинку анонса, а второе в детальную картинку (в этом случае для каждого товара в программе нужно отдельно заводить картинку анонса). Картинка анонса отображается в разделах и не отображается в карточке товара. Картинка анонса выгружается отдельно так же в случае, когда вы выгружаете фото с onliner.by, первая картинка идет без логотипа.

Если птичка не установлена, то первое фото в списке выгружается и в картинку анонса и в детальную картинку.

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

Обновить остаток - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться наличие.

Обновить название - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться название.

Обновить привязку к группе - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться группа (раздел на сайте).

Обновить Символьный код - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться символьный код.

Обновить Описание - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться полное описание и краткое описание.

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

Настройки выгружаемых по товару полей.

Название - поле программы, которое выгружается в качестве Названия товара на сайт. По умолчанию title, это стандартное поле названия товара в программе.

В случае, когда у вас в программе есть какое-то дополнительное название товара, которое приоритетнее, чем основное название (например, название товара на Онлайнер), то тогда можно ввести такой код для поля Название:

(case when ((f_3s5po22gj is null) or (f_3s5po22gj = '')) then title else f_3s5po22gj end)

где f_3s5po22gj - код поля дополнительного названия, заменить нужно в трех местах.

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

Пример 1 Если вы загружаете фото и описание из прайсов, а так же парсите с других сайтов, то вам скорее всего понадобится совместить описание из нескольких полей. Для этого можно использовать такой код:

replace(replace(concat(f_3tspt3keb, (case coalesce(info, '') when '' then '' else concat('<br/>', info) end), (case coalesce(f_41g71r8ij, '') when '' then '' else concat('<br/>', f_41g71r8ij) end)), '<div', '<p'), '</div', '</p')

в этом коде нужно заменить код поля Маркетинговое описание и код поля Характеристики (сайт). Такие замены нужно делать во всех примерах для выгрузки описания.

f_3tspt3keb - Маркетинговое описание, заменить в одном месте

f_41g71r8ij - Характеристики (сайт) - заменить в двух местах (в этом поле хранятся характеристики в виде таблицы HTML.

В итоге описание формируется как сумма полей Маркетинговое описание + Полное описание + Характеристики (сайт).

Пример 2 Если не хотите добавлять в описание html-таблицу характеристик, то такой код:

replace(replace(concat(f_3tspt3keb, (case coalesce(info, '') when '' then '' else concat('<br/>', info) end)), '<div', '<p'), '</div', '</p')

Пример 3 Если нужно выгружать Описание, если оно заполнено, а если не заполнено, то Маркетинговое описание, а если нет Маркетингового, то Краткое описание.

replace(replace(case when coalesce(info, '') <> '' then info else case when coalesce(f_3tspt3keb, '') <> '' then f_3tspt3keb else shortinfo end end, '<div', '<p'), '</div', '</p')

Краткое описание - код поля для выгрузки краткого описания. По умолчанию shortinfo (краткое описание из программы).

Внешний код товара - поле, в котором формируется внешний код. Обычно это поле Код программы. В него нужно загружать внешний код с сайта при начальной загрузки товаров в программу, если у вас на сайте они уже были. И в это же поле формировать уникальный код для новых товаров. По умолчанию значение code.

Если вы уже выгружали на сайт товары старым модулем, то здесь должен выгружаться такой же код, как и раньше. Посмотреть, что выгружалось, можно в настройках шаблона экспорта Bitrix Full.

Символьный код - поле, в которое записывается символьный код товара (изначально с сайта, а так же формируется программой при выгрузке). Добавьте такое пользовательское поле с типом Строка, если у вас его еще нет. В настройке указывается код поля.

Результат:

6. Sync.X вкладка “Поля”

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

Пример:

Каждая строка это отдельное свойство или поле.

Строка состоит из нескольких тегов с разделителем | (вертикальная черта).

Первый тег - определяет, какая информация находится в этой строке, варианты:

PRM - означает, что это выгрузка свойства при добавлении или обновлении товара

PFLD - означает, что это выгрузка свойства или поля при обновлении цен или остатков

Второй тег - символьный код свойства на сайте (свойство уже должно быть создано на сайте).

Третий тег - поле базы данных программы, либо SQL-запрос, выбирающий какую-то информацию для свойства.

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

  • No labels