- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/propertyindex/indexer.php
- Класс: BitrixIblockPropertyIndexIndexer
- Вызов: Indexer::getFilterProperty
protected function getFilterProperty($propertyType)
{
if (!isset($this->propertyFilter))
{
$this->propertyFilter = array(
Storage::DICTIONARY => array(),
Storage::STRING => array(),
Storage::NUMERIC => array(),
Storage::DATETIME => array(),
);
$propertyList = BitrixIblockSectionPropertyTable::getList(array(
"select" => array("PROPERTY_ID", "PROPERTY.PROPERTY_TYPE", "PROPERTY.USER_TYPE"),
"filter" => array(
"=IBLOCK_ID" => array($this->iblockId, $this->skuIblockId),
"=SMART_FILTER" => "Y",
),
));
while ($link = $propertyList->fetch())
{
$storageType = $this->getPropertyStorageType(array(
"PROPERTY_TYPE" => $link["IBLOCK_SECTION_PROPERTY_PROPERTY_PROPERTY_TYPE"],
"USER_TYPE" => $link["IBLOCK_SECTION_PROPERTY_PROPERTY_USER_TYPE"],
));
$this->propertyFilter[$storageType][] = $link["PROPERTY_ID"];
}
}
return $this->propertyFilter[$propertyType];
}