• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/dataprovidermanager.php
  • Класс: BitrixDocumentGeneratorDataProviderManager
  • Вызов: DataProviderManager::getDefaultTemplateFields
public function getDefaultTemplateFields(
	$providerClassName,
	array $placeholders = [],
	array $mainProviderOptions = [],
	$isAddRootGroups = true,
	$isCopyFields = false
): array
{
	$fields = [];

	$sourceFields = $this->getProviderPlaceholders($providerClassName, $placeholders, $mainProviderOptions, $isCopyFields);
	$documentFields = $this->getProviderPlaceholders(DataProviderDocument::class);
	unset($documentFields['Source']);
	if($isAddRootGroups)
	{
		Loc::loadLanguageFile(__DIR__.'/document.php');
		foreach($documentFields as &$field)
		{
			array_unshift($field['GROUP'], Loc::getMessage('DOCUMENT_GROUP_NAME'));
		}
		foreach($sourceFields as &$field)
		{
			array_unshift($field['GROUP'], Loc::getMessage('DOCUMENT_GROUP_NAME'));
		}
		unset($field);
	}
	if(empty($placeholders))
	{
		$placeholders = array_merge(array_keys($sourceFields), array_keys($documentFields));
	}
	foreach($placeholders as $placeholder)
	{
		if(isset($sourceFields[$placeholder]))
		{
			$fields[$placeholder] = $sourceFields[$placeholder];
			$fields[$placeholder]['VALUE'] = Document::THIS_PLACEHOLDER.'.'.Template::MAIN_PROVIDER_PLACEHOLDER.'.'.$fields[$placeholder]['VALUE'];
		}
		elseif(isset($documentFields[$placeholder]))
		{
			$fields[$placeholder] = $documentFields[$placeholder];
			$fields[$placeholder]['VALUE'] = Document::THIS_PLACEHOLDER.'.'.Template::DOCUMENT_PROVIDER_PLACEHOLDER.'.'.$fields[$placeholder]['VALUE'];
		}
	}

	return $fields;
}