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