Quad.Wiki
Модификации товаров
Модификации товаров (торговые предложения) - это когда у вас есть модели товаров, которые могут быть, например, разных размеров или цветов. На сайте они выводятся в одной карточке товара и пользователь может выбрать, какой-то параметр, от которого зависит цена и наличие.
Конфигурация программы
Атрибуты задаются при помощи дополнительных полей, т.е. вам нужно добавить пользовательские поля Цвет, Вес, Объем, Размер и другие, в зависимости от которых у вас будут модификации товаров.
Рекомендуем создавать числовые поля с типом Строка, а не число.
Обратите внимание, что так создавать нужно не все характеристики товаров, а только те, которые являются “модификаторами” в карточке товара
Подробнее о создании пользовательских полей: Добавление пользовательского поля
Информацию в эти поля можно загружать и из прайсов поставщиков, чтобы она копировалась в основной прайс в настройках поля установите так:
Так же вам нужно добавить пользовательское поле “ID родителя” в которое будет записываться QID родительского товара для модификации. Запомните код этого поля.
Отсортируйте поля по Названию и убедитесь, что у вас еще нет таких полей, как ID родителя или других, чтобы не добавлять дубли полей.
Тип поля ID родителя должен быть Строка.
Создайте сразу и индекс на этом поле.
Это поле в программе можно заполнять или вручную, при создании зависимых товаров, или автоматически с помощью запроса:
update product set f_4330u48hb =
(select pc.main_id from product_child pc
where pc.child_id = product.id limit 1)
где f_4330u48hb
- код поля ИД родителя. Запрос должен выполняться перед действиями выгрузки на сайт.
Загрузка модификаций с сайта
Если у вас на сайте уже есть товары с модификациями, то при выгрузке у товара должно быть 2 поля, ID site и Parent ID site, т.е. ИД товара на сайте и ИД родительского товара на сайте. Для загрузки родительского ИД нужно создать отдельное поле с типом строка. Назвать его, например, “Parent ID сайт”. Поле создается аналогично полю “ИД родителя”.
В действие Quad.Magic загрузки товаров с сайта нужно добавить действие “Выполнить запрос к БД”, этим запросом будут связываться товары-модификации с товарами-родителями, после того как они загружены с сайта.
Запрос:
update product set is_main = 1,
child_price_func = 2,
child_price_discont_func = 1
where exists(select 1 from product p2 where p2.f_3q0728833 =
product.f_3o7h64mit);
insert into product_child(main_id, child_id, unit_count)
select p2.id, p.id, 1 from product p, product p2
where p.f_3q0728833 <> ''
and p.f_3o7h64mit <> ''
and p.f_3q0728833 = p2.f_3o7h64mit
on conflict do nothing;
В этом запросе нужно заменить названия полей на ваши:
f_3o7h64mit
- код поля, в которое вы записали ИД товара с сайта (если вы записали его не в пользовательское поле, а в Код, то вместо f_3o7h64mit
нужно использовать code). Встречается в тексте запроса 3 раза.
f_3q0728833
- код поля, в которое вы записали ИД родителя товара сайта.
Для пользовательских полей код поля можно посмотреть здесь:
Выполните это действие, если поменяли коды полей без ошибок, то должен быть статус ОК.
Дальше алгоритм действий будет зависеть от того, что у вас уже есть во вкладке Продукция, товар-родитель (товар к которому привязаны модификации) или же товары-модификации.
Импорт модификаций из файла Excel/CSV
Загрузка из файла Excel/CSV возможна когда в файле есть отдельными строками и товары и модификации, и в каждой модификации указан код или ИД товара родителя.
В других случаях, например, когда модификации перечислены в какой-то ячейке в строке с товаром родителем, или какие-то другие варианты, загрузка модификаций так же возможна, но нужно с помощью макроса сделать, чтобы они стали отдельными строками
Нужно создать 2 поля, как написано здесь в разделе “Конфигурация” - ID товара и ID родителя. В программе обычно уже есть поле ID сайт и, если в качестве ИД вы используете ID товара на сайте, то можно не создавать поле “ID товара”, а использовать “ID сайт“.
В настройках прайса указать эти поля
После загрузки выполнить запрос, который указан в разделе “Конфигурация”.
Импорт модификаций из файла YML
ИД родителя в товарах-модификациях в формате YML указывается при помощи ключа group_id в теге offer.
В настройках нужно указать его загрузку в поле ID родителя.
Если ИД родителя в вашем файле указывается в каком-то другом теге или в параметрах - настраивается загрузка этого поля так же, как и любого другого. Инструкция по YML.
Есть родитель, нужно добавить модификации
1. Перед тем как создавать модификации товаров, во вкладке Продукция нужно добавить товар-родитель, если его еще нет. Добавить товар можно или вручную или добавив его из прайса: Ручное добавление товара из прайса поставщика
2. Для добавления модификаций откройте карточку товара (двойным кликом либо в контекстном меню) и перейдите во вкладку Зависимости.
Нажмите кнопку Добавить модификации
3. В этом окне введите список модификаций товаров, нужные вам комбинации
Комбинации вводятся в формате:
назв. поля=значение;назв. поля=значение;...
где назв. поля - название пользовательского поля, характеристики модификации
значение - значение характеристики
Каждая модификация вводится с новой строки, характеристики одной модификации вводятся одной строкой, разделенной точкой с запятой.
4. Ниже поля ввода модификаций, где задаются шаблоны для полей товаров-модификаций. Шаблоны нужно задать для Код, Модели и Названия товара.
Код - шаблон кода для создаваемого товара. По умолчанию шаблон [родитель] - [номер модиф.] , что значит у нового товара будет код родителя и через тире номер модификации (берется по количеству существующих у товара модификаций). Например, если у товара родителя код id123001, то у модификаций будет создаваться код id123001 - 1, id123001 - 2 и т.д.
Возможные варианты подстановки перечислены здесь, откуда их можно скопировать:
[родитель] - соответствующее поле из товара-родителя (код, модель или название). Т.е. если ввести этот тег в поле Модель, то подставится Модель из товара родителя, если в Название - название родителя, в Код - код родителя.
[номер модиф.] - номер по порядку, в зависимости от количества уже существующих у товара-родителя модификаций
[поле:значение] - подставляется название поля-атрибута и его значение после двоеточия. Если у добавляемой модификации несколько атрибутов, то они добавляются через пробел. Например для такой модификации Цвет=белый;Размер=S товара Кофта Y4847 по шаблону для названия товара [родитель] [поле:значение] будет создано следующее название:
Кофта Y4847 Цвет: белый Размер: S
если несколько атрибутов нужно разделить не пробелом, а запятой, то в шаблон нужно дописать тег [,] , пример: [родитель] [поле:значение][,] - получим результат Кофта Y4847 Цвет: белый, Размер: S (запятая после белый)
[значение] - добавляется только значение атрибута, без указания его названия, пример
Кофта Y4847 белый, S
[ид родителя] - QID товара родителя, можно использовать, например, для формирования кода товара, вместо тега [родитель], чтобы подставлялся QID, а не код родителя.
5. Указать код поля ID родителя, который создали раньше.
6. Нажать кнопку “Добавить” или “Добавить и закрыть” - в результате создадутся товары-модификации
Товары модификации не связаны с товаром поставщиков, их цена = 0, а наличие = Нет в наличии. Дальше вам нужно связать эти товары с товарами поставщиков и, при необходимости, заполнить контент - это можно сделать через контекстное меню в этом же окне.
Для товара родителя цена будет формироваться как минимальная цена из всех модификаций, которые в наличии. Заполняется так же специальное поле Метка в виде Поле: Значение.
Товар-родитель помечается во вкладке Продукция специальным значком.
Если у товара-родителя были связи с поставщиками, их нужно удалить, так как по поставщикам теперь будут расцениваться товары-модификации, а не родитель.
Пример как заполняются поля по введенным шаблонам:
Есть модификации, нужно добавить родителя
В случае, если у вас в Продукции есть товары, которые вы бы хотели объединить в 1 товар с модификациями, нужно:
1. Выделить товары, которые будут входить в модификацию (либо 1 из них, а остальные добавить позже)
2. Нажать Операции с товаром / Добавить / Зависимый от выбранных
3. В открывшейся карточке нового товара Название, Модель и Код будут скопированы из выделенного товара-модификации, вам нужно изменить эти поля, чтобы они не совпадали с модификацией.
Например, из названия убрать размеры, в поле Код дописать какой-нибудь префикс.
4. Во вкладке Зависимости установить, как будет формироваться цена для товара-родителя.
5. Заполнить атрибуты у товаров-модификаций, а так же ИД родителя (скопировать его из вкладки Информация)
Редактировать товары можно из вкладки Зависимости (2-ой клик по товару или в контекстном меню).
Сохраните все.