Как зная ID товара вывести ID всех комплектов в которых находится этот товар?

На сайте есть товары и комплекты товаров. На странице карточки товаров нужно вывести комплект в котором находится этот товар. Как это сделать зная ID товара?
  • Вопрос задан
  • 2454 просмотра
Решения вопроса 1
kopylov_vlad
@kopylov_vlad Автор вопроса
Если кому интересно, то вот код:
<?
  //имея id товара получить id комплекта в котором есть этот товар
	Cmodule::IncludeMOdule('catalog');
	$rsElem = CCatalogProductSet::getList(
		array(),
		array('TYPE' => CCatalogProductSet::TYPE_SET, 'ITEM_ID' => $ElementID),
		false,
		false,
		array('SET_ID', 'OWNER_ID', 'ITEM_ID')
	);
	while ( $set = $rsElem->Fetch() ){
		echo $set['OWNER_ID'];
	}
?>
<?
	//по id комплекта берем id элементов
	Cmodule::IncludeMOdule('catalog');
	$arSets = CCatalogProductSet::getList(
		array(), array( "TYPE" => 1, "OWNER_ID" => $set["OWNER_ID"] ), false, false, array()
	);
	while( $set2 = $arSets->Fetch() ){
		if( $set2["OWNER_ID"]!=$set2["ITEM_ID"]  ){
    echo $set2["ITEM_ID"];
		}
	}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Logic87
@Logic87
Программист/администратор сайтов на 1С-Битрикс.
Компонент: bitrix:catalog.set.constructor
В нем смотрите как выводятся комплекты.
Ответ написан
@maximvp
Господа «юнкера» bitrix:catalog.set.constructor на данный момент выводит лишь наборы, комплекты штатными средствами (и вообще по представлению битрикс разработчиков, создателей 1С-Битрикс) не выводится в визуальной части, а используется сугубо для внутреннего складского учета, результат увидеть можно лишь при оформлении заказа, после соответствующих настроек
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы