• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Rule/Factory/CatalogRuleFactory.php
  • Класс: BitrixCatalogAccessRuleFactoryCatalogRuleFactory
  • Вызов: CatalogRuleFactory::getClassName
protected function getClassName(string $action, AccessibleController $controller): ?string
{
	$actionName = ActionDictionary::getActionRuleName($action);
	if (!$actionName)
	{
		return null;
	}

	$action = explode('_', $actionName);
	$action = array_map(fn($el) => ucfirst(mb_strtolower($el)), $action);

	$ruleClass = $this->getNamespace($controller) . implode($action) . static::SUFFIX;

	if (class_exists($ruleClass))
	{
		return $ruleClass;
	}

	return $this->getNamespace($controller) . static::BASE_RULE . static::SUFFIX;
}