- Модуль: 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);
}
}
}
}