• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/Controller/Property/Action/SaveAction.php
  • Класс: BitrixIblockControllerPropertyActionSaveAction
  • Вызов: SaveAction::convertPublicFeature
private function convertPublicFeature(array $fields): array
{
	if (!isset($fields[FriendlyPropertyProvider::FEATURE_PUBLIC_PROPERTY]))
	{
		return $fields;
	}

	$features = $fields['FEATURES'] ?? [];
	if (!is_array($features))
	{
		$features = [];
	}

	$listIndex = PropertyFeature::getIndex([
		'MODULE_ID' => 'iblock',
		'FEATURE_ID' => PropertyFeature::FEATURE_ID_LIST_PAGE_SHOW,
	]);
	$detailIndex = PropertyFeature::getIndex([
		'MODULE_ID' => 'iblock',
		'FEATURE_ID' => PropertyFeature::FEATURE_ID_DETAIL_PAGE_SHOW,
	]);

	$features[$listIndex] = $fields[FriendlyPropertyProvider::FEATURE_PUBLIC_PROPERTY];
	$features[$detailIndex] = $fields[FriendlyPropertyProvider::FEATURE_PUBLIC_PROPERTY];
	unset($fields[FriendlyPropertyProvider::FEATURE_PUBLIC_PROPERTY]);

	$fields['FEATURES'] = $features;

	return $fields;
}