• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/driver.php
  • Класс: BitrixDocumentGeneratorDriver
  • Вызов: Driver::extendTemplateProviders
static function extendTemplateProviders($moduleId, $provider)
{
	global $DB;
	if(!$DB->TableExists(TemplateProviderTable::getTableName()))
	{
		return '';
	}
	if(!Loader::includeModule($moduleId))
	{
		return '';
	}
	if(!is_a($provider, Filterable::class, true))
	{
		return '';
	}
	$provider = trim(mb_strtolower($provider), '\');
	/** @var Filterable $provider */
	$extendedList = $provider::getExtendedList();
	$templateProviders = TemplateProviderTable::getList(['filter' => ['=PROVIDER' => mb_strtolower($provider)]])->fetchAll();
	foreach($templateProviders as $templateProvider)
	{
		TemplateProviderTable::delete($templateProvider);
		foreach($extendedList as $item)
		{
			TemplateProviderTable::add([
				'TEMPLATE_ID' => $templateProvider['TEMPLATE_ID'],
				'PROVIDER' => $item['PROVIDER'],
			]);
		}
	}

	return '';
}