Если вы хотите подключить компонент конфигуратора на странице товара и установить этот товар или несколько связанных с ним товаров как уже выбранные в конфигураторе, то вам необходимо использовать настройки пресета:
Указание самих товаров необходимо выполнить через код, который необходимо добавить перед кодом вызова компонента:
$GLOBALS["confPreSet_".$arResult["ID"]] = Array(
109 => Array(
Array(
"ID" => 36919,
"QUANTITY" => 1,
)
),
111 => Array(
Array(
"ID" => 37302,
"QUANTITY" => 1,
),
Array(
"ID" => 34214,
"QUANTITY" => 2,
)
),
);
Рекомендуется добавлять к имени массива идентификатор основного товара "confPreSet_".$arResult["ID"]
109 и 111 - идентификаторы шагов конфигуратора. Каждый товар описывается как массив с идентификатором и количеством. Если шаг множественный, то ему можно передать несколько товаров.
ID товаров можно получить с помощью API 1С-Битрикс. Для этого необходимы знания программирования.
Далее представлен вариант с разными условиями сверки с идентификатором раздела, к которому принадлежит товар:
$presetArray = []; switch($arResult["IBLOCK_SECTION_ID"]) { case(1913): //для товаров из раздела с идентификатором 1913 указать текущий товар в количестве 1 для шага с идентификатором 184 $presetArray[184] = Array( Array( "ID" => $arResult['ID'], "QUANTITY" => 1, ) ); break; case(1914): case(1915): //не указывать пресет для товаров из разделов 1914 и 1915 break; default: //выполнить поиск среди шагов, у которых основной раздел указан как у текущего товара и если найдено, то добавить товар в найденный шаг if(CModule::IncludeModule('webprostor.configurator')) { $stepInfo = Webprostor\Configurator\StepsTable::getList([ 'limit' => 1, 'filter' => ['SECTION_ID' => $arResult["IBLOCK_SECTION_ID"]], 'select' => ['ID'], ])->fetch(); if($stepInfo) $presetArray[$stepInfo['ID']] = Array( Array( "ID" => $arResult['ID'], "QUANTITY" => 1, ) ); } break; } $GLOBALS["confPreSet_".$arResult["ID"]] = $presetArray;
Переменная $arResult инициируется в стандартном компоненте для битрикс "Элемент каталога".