Документация для разработчиков
Темная тема

crm.entity.details

С версии 20.5.500 модуля CRM доступно управление вкладками в детальной карточке элемента сущности crm.


Компонент crm.entity.details формирует набор вкладок в детальной карточке элемента сущности crm. После того, как компонент сформировал набор вкладок, бросается php-событие, с помощью которого их можно изменить.

Пример

Пример обработчика, который добавляет пустую вкладку "custom" :

Bitrix\Main\EventManager::getInstance()->addEventHandler(
	'crm',
	'onEntityDetailsTabsInitialized', 
	static function(\Bitrix\Main\Event $event) {
		$tabs = $event->getParameter('tabs');
		$tabs[] = [
				'id' => 'custom',
				'name' => 'custom',
			];

		return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
			'tabs' => $tabs,
		]);
	}
);

На вход обработчика приходят следующие параметры:

  • entityID - идентификатор сущности;
  • entityTypeID - идентификатор типа сущности;
  • guid - строковый идентификатор карточки;
  • tabs - массив с описанием вкладок.

Событие должно вернуть новый набор табов по ключу tabs.

Реализацию можно посмотреть в методе: \CCrmEntityPopupComponent::updateTabsByEvent()

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Андрей Сурганов
Сообщение не промодерировано, возможны ошибки и неточности.
И что делать, если есть несколько модулей, которые добавляют свои табы?
1
Андрей Николаев
Сообщение не промодерировано, возможны ошибки и неточности.
Примечание: событие может выполняться несколько раз, но табы будут выбраны из последнего события.
Т.е. если у вас 3 подписки и каждая добавляет свой таб, то в результате будет добавлен только последний, потому что между событиями табы не передаются.
3
Андрей Николаев
CCrmEntityPopupComponent расположен в class.php по пути: /bitrix/components/bitrix/crm.entity.details/
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх