• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/tracking/manager.php
  • Класс: BitrixSaleDeliveryTrackingManager
  • Вызов: Manager::initClassNames
protected function initClassNames()
{
	if(self::$classNames !== null)
		return true;

	ServicesManager::getHandlersList();

	$classes = array(
		'BitrixSaleDeliveryTrackingRusPost' => 'lib/delivery/tracking/rus_post.php',
	);

	BitrixMainLoader::registerAutoLoadClasses('sale', $classes);

	$event = new Event('sale', 'onSaleDeliveryTrackingClassNamesBuildList');
	$event->send();
	$resultList = $event->getResults();

	if (is_array($resultList) && !empty($resultList))
	{
		$customClasses = array();

		foreach ($resultList as $eventResult)
		{
			$params = $eventResult->getParameters();

			if(!empty($params) && is_array($params))
				$customClasses = array_merge($customClasses, $params);
		}

		if(!empty($customClasses))
		{
			BitrixMainLoader::registerAutoLoadClasses(null, $customClasses);
			$classes = array_merge($customClasses, $classes);
		}
	}

	self::$classNames = array_keys($classes);
	return true;
}