Автор: admin
26 июля 2022
Свойства (характеристики) или в понимании WooCommerce — атрибуты товаров, это неотъемлемая часть практически любого каталога товаров.
Атрибуты позволяют не только организовать формализованное отображение свойств товара, но дают возможность построить на основании них фильтры, с помощью которых пользователь сможет проще найти необходимые товары.
В выгрузке данных из 1С эта информация представлена в двух блоках.
Первый — это основная информация о применяемых свойствах товаров в узле «Клаccификатор -> Свойства», который содержит ид, названия, а также набор значений (для свойств с типом «Справочник»). На основании этих данных создается набор атрибутов.
Второй — в товарах в узле «Товар -> ЗначенияСвойств» расположена информация о применяемых в конкретном товаре наборе свойств и значений и на основании этого, происходит заполнение атрибутов уже в самом товаре.
Как можно видеть, в узле «Значение» может быть, как guid, если это свойство «Справочник», так и само значение (если не справочник), при этом «Ид» свойства соответствует одному «Ид» свойства из основной информации.
Как можно видеть, в узлах «ЗначенияСвойства» есть по 3 узла «Значение», а не 1, как в предыдущем. Таким образом, в данном случае, в товаре на сайте будет не одно, а три значения для этих атрибутов.
К сожалению, как правило типовые конфигурации не позволяют указать по нескольку значений для одного свойства, то есть в большинстве случаев для получения такого результата требуется кастомизация в 1С.
В связи с этим функциональным ограничением 1С, данную задачу можно решить при обработке выгрузки и использовать разделитель (Может быть применено только к простым (не «Справочник») основным свойствам товара). Таким образом, можно указать несколько значений, как одно с разделителем и в итоге на сайте у товара будет не 1 значение, а несколько.
Если по какой-то причине, вы хотите выборочно игнорировать какие-то из свойств в выгрузке, вы можете воспользоваться фильтром. Если свойство уже было загружено, то помимо игнорирования, не забудьте удалить созданный атрибут в списке в административной панели.
Пример:
\add_filter('itglx_wc1c_attribute_ignore_guid_array', function ($guidArray) {
// тут должен быть guid ненужного вам свойства
$guidArray[] = '00000000-0000-0000-0000-000000000000';
// если требуются еще, то добавляем весь список
$guidArray[] = 'GUID свойства 2';
$guidArray[] = 'GUID свойства 3';
// и т.д.
return $guidArray;
});
Автор:
adminКопирование материала разрешено с указанием ссылки на первоисточник
Обратная форма связи
Заполните данные в форме, что-бы мы перезвонили с предложением
Узнать стоимость
Заполните данные в форме, что-бы мы перезвонили с предложением