- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/property.php
- Класс: BitrixSaleRestEntityProperty
- Вызов: Property::getFieldsByType
public function getFieldsByType($type)
{
$filterMap = [
self::PROPERTY_TYPE_STRING => function ($k)
{
return (
is_set($this->getFieldsByTypeLocation(), $k) === false
&& is_set($this->getFieldsByTypeAddress(), $k) === false
);
},
self::PROPERTY_TYPE_LOCATION => function ($k)
{
return (
is_set($this->getFieldsByTypeString(), $k) === false
&& is_set($this->getFieldsByTypeAddress(), $k) === false
);
},
self::PROPERTY_TYPE_ADDRESS => function ($k)
{
return (
is_set($this->getFieldsByTypeString(), $k) === false
&& is_set($this->getFieldsByTypeLocation(), $k) === false
);
},
'DEFAULT' => function ($k)
{
return (
is_set($this->getFieldsByTypeString(), $k) === false
&& is_set($this->getFieldsByTypeLocation(), $k) === false
&& is_set($this->getFieldsByTypeAddress(), $k) === false
);
},
];
$filter = isset($filterMap[$type]) ? $filterMap[$type] : $filterMap['DEFAULT'];
$r = array_filter($this->getFields(), $filter, ARRAY_FILTER_USE_KEY);
$r['SETTINGS']['FIELDS'] = $this->getFieldsSettingsByType($type);
return $r;
}