Битрикс как узнать ID товара по ID торгового предложения

Найти торговые предложения зная ID товара не так уж и сложно. А что если стоит обратная задача, и где это вообще может пригодится?

Как в битриксе зная ID SKU узнать ID родительского товара

Столкнулся с такой задачей, когда нужно было в попапе показывать краткую информацию о товаре, которую принято называть «быстрый просмотр». А «быстрый просмотр» был адаптирован для определенного IBLOCK_ID (id информационного блока), и поэтому, когда передавался через цикл ID торгового предложения, информация не отображалась.

На помощь пришел данный метод — CCatalogSku::GetProductInfo:

$intElementID = 100; // ID предложения
$mxResult = CCatalogSku::GetProductInfo(
  $intElementID
);
if (is_array($mxResult))
{
  echo 'ID товара = '.$mxResult['ID'];
}
else
{
  ShowError('Это не торговое предложение');
}

Немного улучшим код, а также его читаемость, т.к. пример из документации не самый презентабельный 🙂

$ElementID = 100; // ID предложения
$mxResult = CCatalogSku::GetProductInfo($ElementID);
if (is_array($mxResult)) {
	$PRODUCT_ID = $mxResult['ID']; // ID товара родителя
} else {
	$PRODUCT_ID = $ElementID; // если не нашло, запишет ID торгового предложения
}

Если у вас возникла ошибка, не забывайте подключать модуль каталога:

<?CModule::IncludeModule("catalog");?>

либо же, писать в условии:

<?if (CModule::IncludeModule("catalog")):?>
  // Код
<?endif;?>

Надеюсь данный код помог решить вашу проблему 🙂

Если вам необходимо выполнить доработки по вашему проекту, шаблону или компоненту - обращайтесь ко мне за помощью

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru

- Создание сайтов на 1С-Битрикс;
- Доработки и правки на рабочем проекте;
- Адаптивная вёрстка и натяжка на Битрикс;
- Выгрузка и Загрузка товаров на сайт;
- Парсинг товаров;
- Интеграции со сторонними сервисами по API;
- Многоязычные версии сайтов и многое другое.

Пишите, отвечу на любые вопросы.

E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *