• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/component/baseform.php
  • Класс: BitrixCatalogComponentBaseForm
  • Вызов: BaseForm::getPreparedParams
protected function getPreparedParams(array $params): array
{
	$allowedBuilderTypes = [
		UrlShopBuilder::TYPE_ID,
		UrlInventoryBuilder::TYPE_ID,
	];
	$allowedScopeList = [
		self::SCOPE_SHOP,
	];
	if ($this->crmIncluded)
	{
		$allowedBuilderTypes[] = CrmProductUrlProductBuilder::TYPE_ID;
		$allowedScopeList[] = self::SCOPE_CRM;
	}

	$params['BUILDER_CONTEXT'] = (string)($params['BUILDER_CONTEXT'] ?? '');
	if (!in_array($params['BUILDER_CONTEXT'], $allowedBuilderTypes, true))
	{
		$params['BUILDER_CONTEXT'] = UrlShopBuilder::TYPE_ID;
	}

	$params['SCOPE'] = (string)($params['SCOPE'] ?? '');
	if ($params['SCOPE'] === '')
	{
		$params['SCOPE'] = $this->getScopeByUrl();
	}

	if (!in_array($params['SCOPE'], $allowedScopeList))
	{
		$params['SCOPE'] = self::SCOPE_SHOP;
	}

	$params['MODE'] = $params['MODE'] ?? '';
	if ($params['MODE'] !== self::CREATION_MODE && $params['MODE'] !== self::EDIT_MODE)
	{
		$params['MODE'] = $this->entity->isNew() ? self::CREATION_MODE : self::EDIT_MODE;
	}

	return $params;
}