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