- Модуль: 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);
}