Задать вопрос

Не работает несколько собственных ограничений на доставку в Битрикс, что не так?

Есть вызов в init.php
// ограничение на доставку по складу
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
    'sale',
    'onSaleDeliveryRestrictionsClassNamesBuildList',
    'functionDeliveryRestrictions'
);

function functionDeliveryRestrictions()
{
    return new \Bitrix\Main\EventResult(
        \Bitrix\Main\EventResult::SUCCESS,
        array(
            '\InCartPropCodeDeliveryRestriction' => '/local/php_interface/InCartPropCodeDeliveryRestriction.php',
        )
    );
}

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

Сейчас нужно добавить ограничение по времени.
Добавляю все аналогично, кроме вызываемого файла:
// ограничение на доставку по времени
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
    'sale',
    'onSaleDeliveryRestrictionsClassNamesBuildList',
    'functionDeliveryRestrictionsTime'
);

function functionDeliveryRestrictionsTime()
{
    return new \Bitrix\Main\EventResult(
        \Bitrix\Main\EventResult::SUCCESS,
        array(
            '\InCartPropCodeDeliveryRestriction' => '/local/php_interface/InCartPropCodeDeliveryRestrictionTime.php',
        )
    );
}


И получается что "ограничение на доставку по времени" перекрывает "ограничение на доставку по складу", что я не так делаю?
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tgarl
так у вас один и тот же класс назначается \InCartPropCodeDeliveryRestriction, класс же с другим именем нужно заводить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы