Если Ваш интернет-магазин интегрирован с 1С, скорее всего столкнулись с такой проблемой: 1С не умеет выгружать параметры товара: Вес, Ширина, Высота, Глубина.
Заполнение габаритов товара, после обмена с 1С, из свойств элемента инфоблока.
Михаил Базаров: 09.04.2019 11:09:47
Заполнение габаритов товара, после обмена с 1С, из свойств элемента инфоблока.
Если Ваш интернет-магазин интегрирован с 1С, скорее всего столкнулись с такой проблемой: 1С не умеет выгружать параметры товара: Вес, Ширина, Высота, Глубина. |
Denis Jutov: 09.04.2019 11:09:47
Добрый день, тут в последнем пример кода есть опечатка,
$arFields = array( 'WEIGHT' => $ar_fields['PROPERTY_ATT_WEIGHT_VALUE'], 'WIDTH' => $ar_fields['PROPERTY_ATT_WIDTH_VALUE'], [COLOR=#ff0000] 'HEIGH'[/COLOR] => $ar_fields['PROPERTY_ATT_HEIGHT_VALUE'], 'LENGTH' => $ar_fields['PROPERTY_ATT_LENGTH_VALUE'] ![]() [COLOR=#ff0000]HEIGHT[/COLOR] Спасибо за статью. |
Denis Jutov: 09.04.2019 13:17:41
Еще есть вариант того что при событиях
OnAfterIBlockElementUpdate - обновление элемента OnAfterIBlockElementAdd - добавление элемента Будет не срабатывать запись, так как событие ProductUpdate срабатывает после и может перезаписывать свойство. Тогда стоит попробовать поставить не на изменение элементов инфолока, а на изменение товара
Полный пример кода который при изменениях в товаре или выгрузке 1С будет записывать габариты Сайт по продаже шин, поэтому есть только объем, а для расчета отправки по почте нужны габариты
|
Борис Черепанов: 29.04.2019 11:22:49
Добрый день
Написал обработку для того что-бы из реквизитов товара брать вес и габариты торгового предложения. Если интересно вот ссылка |
Михаил Базаров: 15.08.2020 22:56:37
![]() Но пусть тоже будет, у меня чуть иначе сделано и без ТП |
Сергей А: 19.08.2022 18:01:04
Тестил сегодня - все работает
<? function OnAfterIBlockElementUpdateAdd(&$arFields) { $el = new CIBlockElement; switch (SITE_ID ) { case 's1': $iBlockID = 12; break; case 's2': $iBlockID = 49; break; } $delivery_fields = array(); $db_props = CIBlockElement::GetProperty( $iBlockID, $arFields['ID'], array("sort" => "asc"), Array("CODE" => "CML2_TRAITS") ); while ($ar_props = $db_props->Fetch()) { switch ($ar_props["DESCRIPTION"]) { case 'Длина': $length = $ar_props['VALUE']; break; case 'Высота': $height = $ar_props['VALUE']; break; case 'Ширина': $width = $ar_props['VALUE']; break; } } $delivery_fields = array( 'LENGTH' => $length * 10, 'HEIGHT' => $height *10, 'WIDTH' => $width *10 ); \Bitrix\Catalog\Model\Product::update($arFields['ID'], $delivery_fields); } |
Сергей Антонов: 19.08.2022 18:05:35
'WIDTH' => $VALUES['3'] * 10,
'HEIGHT' => $VALUES['4'] * 10, 'LENGTH' => $VALUES['5'] * 10; Тут недочет - если из 1с не прийдет какое либо поле то ключи собьются и ваши габариты запишутся не туда, либо же к примеру прийдет еще 1поле - обьем, тогда 'WIDTH' => $VALUES['3'] * 10, уже будет не [3], а к [4] например, поэтому можно сравнивать по описанию полей Тестил сегодня - все работает
|
Михаил Базаров: 19.08.2022 18:28:52
В целом да. Если ключи собъются все поломается. Только и остается, проверять по точному названию поля.
|
Гость: 24.04.2024 12:18:07
можно использовать D7
|
Блог-note: заметки разработчика
Умный фильтр на главной странице Битрикс
Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу магазина на Битрикс. При этом...
CAPTCHA с возможностью обновления без перезагрузки страницы в 1C-Битрикс
Задача: Так как стандартная капча в 1С-Битрикс, может отобразиться не удачно (символы уходят за грань капчи или не у...
Обновление 1С-Битрикс с PHP 7, до поддержки версии PHP 8.3
Задача: обновить устаревший сайт на платформе 1С-Битрикс, который не получал обновлений уже более 4 лет и работает на PH...
Малая корзина Битрикс, упрощенный шаблон
Шаблон малой корзины битрикс, который можно вывести в боковом разделе шаблона или в шапке интернет-магазина. Код окульту...
Прятать или показывать описание раздела каталога
В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...
Вывести список всех пользователей с необходимой информацией
Если нужно, на какой-либо странице сайта, вывести всех пользователей из группы "Зарегистирированные пользователи", прост...
Смена вида карточек товаров в catalog.section с иммитацией AJAX
Смену вида карточек товаров, в разделе каталога, можно реализовать с помощью сессии, записывая в нее нужный вида шаблона...
Получить все товары из всех заказов пользователя. История купленных товаров.
Задача: нужно создать раздел, в персональном разделе пользователя, с историей всех купленных товаров. Не путать с истори...
Определить местоположение пользователя и показать магазины поблизости.
Задача: в мобильном приложении, которое открывает сайт на 1С-Битрикс внутри себя, нужно определить местоположение пользо...