- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/propertyindex/querybuilder.php
- Класс: BitrixIblockPropertyIndexQueryBuilder
- Вызов: QueryBuilder::getFilterProperty
private function getFilterProperty(): array
{
//TODO: remove this code to BitrixIblockModelProperty
if (!isset($this->propertyFilter))
{
$this->propertyFilter = array();
$propertyList = BitrixIblockSectionPropertyTable::getList(array(
"select" => array("PROPERTY_ID", "PROPERTY.PROPERTY_TYPE", "PROPERTY.USER_TYPE"),
"filter" => array(
"=IBLOCK_ID" => array($this->facet->getIblockId(), $this->facet->getSkuIblockId()),
"=SMART_FILTER" => "Y",
),
));
while ($link = $propertyList->fetch())
{
if ($link["IBLOCK_SECTION_PROPERTY_PROPERTY_PROPERTY_TYPE"] === "N")
$this->propertyFilter[$link["PROPERTY_ID"]] = Storage::NUMERIC;
elseif ($link["IBLOCK_SECTION_PROPERTY_PROPERTY_USER_TYPE"] === "DateTime")
$this->propertyFilter[$link["PROPERTY_ID"]] = Storage::DATETIME;
elseif ($link["IBLOCK_SECTION_PROPERTY_PROPERTY_PROPERTY_TYPE"] === "S")
$this->propertyFilter[$link["PROPERTY_ID"]] = Storage::STRING;
else
$this->propertyFilter[$link["PROPERTY_ID"]] = Storage::DICTIONARY;
}
}
return $this->propertyFilter;
}