• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/dataprovidermanager.php
  • Класс: BitrixDocumentGeneratorDataProviderManager
  • Вызов: DataProviderManager::getDataProviderRegionPhrases
public function getDataProviderRegionPhrases(
	$providerClassName,
	$region,
	&$loadedProviders = [],
	array $field = []
): void
{
	$providerClassName = mb_strtolower($providerClassName);
	if(isset($loadedProviders[$providerClassName]))
	{
		return;
	}
	if(!empty($field))
	{
		$provider = $this->createDataProvider($field, ' ');
	}
	else
	{
		$provider = $this->getDataProvider($providerClassName, ' ');
	}
	if($provider)
	{
		if($provider instanceof ArrayDataProvider)
		{
			$field = $provider->getFields()[$provider->getItemKey()];
			$provider = $this->createDataProvider($field, ' ');
			if(!$provider)
			{
				return;
			}
		}
		$phrasesPath = $provider->getLangPhrasesPath();
		if($phrasesPath)
		{
			$this->loadLangPhrases($phrasesPath, $region);
		}
		$loadedProviders[$providerClassName] = true;
		foreach($provider->getFields() as $placeholder => $providerField)
		{
			if(!empty($providerField['PROVIDER']) && !isset($loadedProviders[mb_strtolower($providerField['PROVIDER'])]))
			{
				$this->getDataProviderRegionPhrases($providerField['PROVIDER'], $region, $loadedProviders, $providerField);
			}
		}
	}
}