Configuration::getProvider

  1. Bitrix24 API (v. 23.675.0)
  2. ui
  3. Configuration
  4. getProvider
  • Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/entityselector/configuration.php
  • Класс: BitrixUIEntitySelectorConfiguration
  • Вызов: Configuration::getProvider
static function getProvider(Entity $entity)
{
	$entityId = $entity->getId();
	$options = $entity->getOptions();

	self::load();

	if (!is_string($entityId) || !isset(self::$entities[$entityId]))
	{
		return null;
	}

	if (array_key_exists($entityId, self::$providers))
	{
		return self::$providers[$entityId];
	}

	$substituteEntityId = $entity->getSubstituteEntityId();
	if (
		is_string($substituteEntityId)
		&& isset(self::$entities[$substituteEntityId]['substitutes'])
		&& self::$entities[$substituteEntityId]['substitutes'] === $entityId
	)
	{
		$moduleId = self::$entities[$substituteEntityId]['provider']['moduleId'] ?? null;;
		$className = self::$entities[$substituteEntityId]['provider']['className'] ?? null;
	}
	else
	{
		$moduleId = self::$entities[$entityId]['provider']['moduleId'] ?? null;;
		$className = self::$entities[$entityId]['provider']['className'] ?? null;
	}

	self::$providers[$entityId] = self::createProvider($moduleId, $className, $options);

	return self::$providers[$entityId];
}

Добавить комментарий