- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/extra_services/manager.php
- Класс: BitrixSaleDeliveryExtraServicesManager
- Вызов: Manager::initClassesList
static function initClassesList()
{
if(static::$classes !== null)
return true;
$classes = array(
'BitrixSaleDeliveryExtraServicesEnum' => 'lib/delivery/extra_services/enum.php',
'BitrixSaleDeliveryExtraServicesStore' => 'lib/delivery/extra_services/store.php',
'BitrixSaleDeliveryExtraServicesQuantity' => 'lib/delivery/extra_services/quantity.php',
'BitrixSaleDeliveryExtraServicesCheckbox' => 'lib/delivery/extra_services/checkbox.php'
);
BitrixMainLoader::registerAutoLoadClasses('sale', $classes);
ServicesManager::getHandlersList();
unset($classes['BitrixSaleDeliveryExtraServicesStore']);
$event = new Event('sale', 'onSaleDeliveryExtraServicesClassNamesBuildList');
$event->send();
$resultList = $event->getResults();
if (is_array($resultList) && !empty($resultList))
{
$customClasses = array();
foreach ($resultList as $eventResult)
{
/** @var EventResult $eventResult*/
if ($eventResult->getType() != EventResult::SUCCESS)
continue;
$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);
}
}
static::$classes = array_merge(array_keys($classes));
return static::$classes;
}