229 $nav =
$params[
'nav'] ??
false;
231 $iblockElements = [];
250 $id = (int)$row[
'ID'];
251 $iblockElements[$id] = $row;
256 if (empty($iblockElements))
264 'QUANTITY_TRACE' =>
'QUANTITY_TRACE_ORIG',
265 'CAN_BUY_ZERO' =>
'CAN_BUY_ZERO_ORIG',
266 'SUBSCRIBE' =>
'SUBSCRIBE_ORIG',
268 $productSelect = array_merge([
'*',
'UF_*'], array_values($specificFields));
272 $elementsIterator = \CIBlockElement::GetList(
276 'CHECK_PERMISSIONS' =>
'N',
283 if ($detailUrlTemplate)
285 $elementsIterator->SetUrlTemplates($detailUrlTemplate);
287 while ($element = $elementsIterator->getNext())
289 $id = (int)$element[
'ID'];
290 $iblockElements[$id] += $this->replaceRawFromTilda($element);
292 unset($elementsIterator);
295 'select' => $productSelect,
300 while ($product = $productIterator->fetch())
302 $id = (int)$product[
'ID'];
303 unset($product[
'ID']);
304 foreach ($specificFields as $field => $originalField)
306 $product[$field] = $product[$originalField];
307 unset($product[$originalField]);
309 $iblockElements[$id] += $product;
311 unset($productIterator);
314 return $iblockElements;