• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/template/entity/elementsku.php
  • Класс: BitrixIblockTemplateEntityElementSku
  • Вызов: ElementSku::loadFromDatabase
public function loadFromDatabase()
{
	if (!isset($this->fields))
	{
		$this->fields = array();
		$select = array_values($this->fieldMap);

		$elementList = BitrixIblockElementTable::getList(array(
			"select" => $select,
			"filter" => array("=ID" => $this->id),
		));
		$this->elementFields = $elementList->fetch();
		if ($this->elementFields)
		{
			$catalog = CCatalogSKU::getInfoByProductIBlock($this->elementFields["IBLOCK_ID"]);
			if (!empty($catalog))
			{
				$this->skuIblockId = $catalog["IBLOCK_ID"];
				$skuList = CIBlockElement::getList(array(), array(
					"IBLOCK_ID" => $catalog["IBLOCK_ID"],
					"=PROPERTY_".$catalog["SKU_PROPERTY_ID"] => $this->id,
				), false, false, $select);
				while ($sku = $skuList->fetch())
				{
					$this->skuList[] = $sku;
					foreach($sku as $fieldName => $fieldValue)
					{
						$this->fields[$fieldName][] = $fieldValue;
					}
				}
			}
		}
	}

	return is_array($this->fields);
}