• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/landingsource/dataloader.php
  • Класс: BitrixIblockLandingSourceDataLoader
  • Вызов: DataLoader::prepareSelectFields
private function prepareSelectFields(array &$settings, array $select)
	{
		$settings['rawSelect'] = $select;
		if (!empty($settings['order']))
		{
			foreach (array_keys($settings['order']) as $field)
			{
				if (!in_array($field, $select))
					$select[] = $field;
			}
		}

		$productFields = $this->getProductFields();
		foreach ($select as $index => $field)
		{
			if ($field == 'PRICE')
			{
				$settings['prices'] = true;
				unset($select[$index]);
			}
			elseif (isset($productFields[$field]))
			{
				$settings['product'][$field] = $productFields[$field];
				unset($select[$index]);
			}
			elseif (strncmp($field, 'PROPERTY_', 9) == 0)
			{
				$propertyId = (int)mb_substr($field, 9);
				if ($propertyId > 0)
					$settings['element_properties'][$propertyId] = $propertyId;
				unset($select[$index]);
				unset($propertyId);
			}
		}
		unset($index, $field);
		unset($productFields);

		$settings['element'] = $select;
	}