- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblockelement.php
- Класс: CAllIBlockElement
- Вызов: CAllIBlockElement::MkPropertyGroup
public function MkPropertyGroup($db_prop, &$arJoinProps, $bSort = false)
{
if($db_prop["VERSION"] == 2 && $db_prop["MULTIPLE"]=="N")
{
if(!array_key_exists($db_prop["IBLOCK_ID"], $arJoinProps["FPS"]))
$arJoinProps["FPS"][$db_prop["IBLOCK_ID"]] = count($arJoinProps["FPS"]);
$iPropCnt = $arJoinProps["FPS"][$db_prop["IBLOCK_ID"]];
}
else
{
//Join property metadata table
if(!array_key_exists($db_prop["ID"], $arJoinProps["FP"]))
$arJoinProps["FP"][$db_prop["ID"]] = array(
"CNT" => count($arJoinProps["FP"]),
"bFullJoin" => false,
);
if(!array_key_exists($db_prop["ID"], $arJoinProps["FPV"]))
$arJoinProps["FPV"][$db_prop["ID"]] = array(
"CNT" => count($arJoinProps["FPV"]),
"IBLOCK_ID" => $db_prop["IBLOCK_ID"],
"MULTIPLE" => $db_prop["MULTIPLE"],
"VERSION" => $db_prop["VERSION"],
"ORIG_ID" => $db_prop["ORIG_ID"],
"JOIN" => $arJoinProps["FP"][$db_prop["ID"]]["CNT"],
"bFullJoin" => false,
);
$iPropCnt = $arJoinProps["FPV"][$db_prop["ID"]]["CNT"];
}
if($db_prop["PROPERTY_TYPE"]=="L")
{
if(!array_key_exists($db_prop["ID"], $arJoinProps["FPEN"]))
$arJoinProps["FPEN"][$db_prop["ID"]] = array(
"CNT" => count($arJoinProps["FPEN"]),
"MULTIPLE" => $db_prop["MULTIPLE"],
"VERSION" => $db_prop["VERSION"],
"ORIG_ID" => $db_prop["ORIG_ID"],
"JOIN" => $iPropCnt,
"bFullJoin" => false,
);
$iFpenCnt = $arJoinProps["FPEN"][$db_prop["ID"]]["CNT"];
return ($bSort? ", FPEN".$iFpenCnt.".SORT": ", FPEN".$iFpenCnt.".VALUE, FPEN".$iFpenCnt.".ID");
}
elseif($db_prop["VERSION"]==2 && $db_prop["MULTIPLE"]=="N")
{
return ", FPS".$iPropCnt.".PROPERTY_".$db_prop["ORIG_ID"];
}
elseif($db_prop["PROPERTY_TYPE"]=="N")
{
return ", FPV".$iPropCnt.".VALUE, FPV".$iPropCnt.".VALUE_NUM";
}
else
{
return ", FPV".$iPropCnt.".VALUE";
}
}