- Модуль: salescenter
- Путь к файлу: ~/bitrix/modules/salescenter/lib/fields/manager.php
- Класс: BitrixSalesCenterFieldsManager
- Вызов: Manager::getEntityFields
public function getEntityFields(Entity $entity, array $previous = []): array
{
$result = [];
$fields = $entity->getFields();
foreach($fields as $field)
{
$fieldEntity = $field->getEntity();
$chain = $fullName = '';
foreach($previous as $item)
{
$fullName .= $item->getTitle().'.';
$chain .= $item->getName().'.';
}
$fullName .= $field->getTitle();
$chain .= $field->getName();
if($fieldEntity && $fieldEntity->getCode() !== $entity->getCode())
{
array_push($previous, $field);
$result[] = [
'name' => $field->getName(),
'title' => $field->getTitle(),
'fullName' => $fullName,
'chain' => $chain,
'items' => $this->getEntityFields($fieldEntity, $previous),
];
array_pop($previous);
}
else
{
$result[] = [
'name' => $field->getName(),
'title' => $field->getTitle(),
'fullName' => $fullName,
'chain' => $chain,
];
}
}
return $result;
}