269  /  328

Кастомизация типов дополнительных услуг

Просмотров: 848 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 17.02.2017

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

В случае, если вас не устраивают стандартные типы дополнительных услуг, то вы можете добавлять свои собственные типы услуг. Для этого следует использовать событие onSaleDeliveryExtraServicesClassNamesBuildList, которое регистрирует пользовательские типы услуг:

EventManager::getInstance()->addEventHandler(
	'sale',
	'onSaleDeliveryExtraServicesClassNamesBuildList',
	'myFunction'
);	

Зарегистрируйте свой класс, который реализует ваш кастомный тип услуг:

class MyService extends \Bitrix\Sale\Delivery\ExtraServices\Base
{
	public function getClassTitle()
	{
			return "Моя услуга";
	}
	...
}

Обработчик события должен вернуть список ваших классов типов дополнительных услуг и путей к ним:

public static function myFunction(Main\Event $event)
{
	return new Main\EventResult(
		Main\EventResult::SUCCESS,
		array(
			'MyService' = > 'folder/myservice.php',
		)
	);
}

В результате ваш класс включится в работу и будет реализован интерфейс услуг в соответствии с вашими настройками.

Класс наследуется от базового Base, которые размещается в директории: /bitrix/modules/sale/lib/delivery/extra_services.
Там же вы сможете найти примеры штатных типов услуг.


4
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии