• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/EntityDetails.php
  • Класс: BitrixCrmMobileControllerEntityDetails
  • Вызов: EntityDetails::getEntityHeader
protected function getEntityHeader(Item $entity = null): ?array
{
	if ($this->header === null)
	{
		$text = '';
		$detailText = '';
		$imageUrl = null;

		if (!$entity)
		{
			$entity = $this->loadEntity();
		}

		if ($entity && !$entity->isNew())
		{
			if ($this->isCopyMode())
			{
				$typeName = mb_strtoupper(CCrmOwnerType::ResolveName($entity->getEntityTypeId()));
				$text = Loc::getMessage("M_CRM_ENTITY_DETAILS_COPY_TEXT_{$typeName}");
				if (!$text)
				{
					$text = Loc::getMessage('M_CRM_ENTITY_DETAILS_COPY_TEXT');
				}
			}
			else
			{
				$text = (string)$entity->getHeading();
				$detailText = $this->getHeaderDetailText($entity);
			}

			$logo = null;
			$size = null;

			if ($entity->getEntityTypeId() === CCrmOwnerType::Contact)
			{
				$logo = $entity->get(Contact::FIELD_NAME_PHOTO);
				$size = ['width' => 200, 'height' => 200];
			}
			elseif ($entity->getEntityTypeId() === CCrmOwnerType::Company)
			{
				$logo = $entity->get(Company::FIELD_NAME_LOGO);
				$size = ['width' => 300, 'height' => 300];
			}

			if (!empty($logo))
			{
				$imageUrl = CFile::ResizeImageGet(
					$logo,
					$size,
					BX_RESIZE_IMAGE_EXACT,
					false,
					false,
					true
				);
				$imageUrl = $imageUrl['src'] ?? null;
			}
		}

		$this->header = [
			'text' => $text,
			'detailText' => $detailText,
			'imageUrl' => $imageUrl,
		];
	}

	return $this->header;
}