• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/controller/manager.php
  • Класс: BitrixSalesCenterControllerManager
  • Вызов: Manager::getPageUrlAction
public function getPageUrlAction(int $pageId, array $entities): ?array
{
	$page = BitrixSalesCenterModelPageTable::getById($pageId)->fetchObject();
	if(!$page)
	{
		$this->addError(new Error('Page with id '.$pageId.' not found'));
		return null;
	}

	$pageUrl = $page->getUrl();

	if(CrmManager::getInstance()->isEnabled())
	{
		$fieldsManager = Driver::getInstance()->getFieldsManager();
		$ids = [];

		foreach($entities as $entityTypeId => $entityId)
		{
			$ids[CCrmOwnerType::ResolveName($entityTypeId)] = $entityId;
		}

		if(!empty($ids))
		{
			$pageUrl = $fieldsManager->setIds($ids)->getUrlWithParameters($page);
		}
	}

	return [
		'pageUrl' => $pageUrl,
	];
}