Добрый день. Есть задача, запретить добавление в корзину товара, который по N свойству не совпадает с уже добавленными в корзину товарами.
К примеру, добавляю я товар X, у которого свойство N равно 123, после я добавляю товар Y, у которого N равно 1234, в таком случае мне нужно выбрасывать exception, с текстом "Если вы хотите добавить этот товар, вам нужно очистить корзину" и две кнопки, очистить корзину и перейти в корзину.
Я решил реализовать это с помощью события OnBeforeBasketAdd модуля sale. Обработчик сделал, всё окей, если товар не подходит по свойству делаю return false; и вот на этом шаге непонятно что делать. Из-за возвращаемого false из обработчика события, битрикс показывает мне модалку с текстом "Отсутствует информация о добавлении товара в корзину". Вот мне нужно этот текст поймать и изменить на свой, но как это сделать? Перед return false; exception'а ещё нету, а после я на него уже повлиять не могу. И событий типа onBeforeExceptionThrown нету. Как это реализовать? Спасибо.
К примеру, добавляю я товар X, у которого свойство N равно 123, после я добавляю товар Y, у которого N равно 1234, в таком случае мне нужно выбрасывать exception, с текстом "Если вы хотите добавить этот товар, вам нужно очистить корзину" и две кнопки, очистить корзину и перейти в корзину.
Я решил реализовать это с помощью события OnBeforeBasketAdd модуля sale. Обработчик сделал, всё окей, если товар не подходит по свойству делаю return false; и вот на этом шаге непонятно что делать. Из-за возвращаемого false из обработчика события, битрикс показывает мне модалку с текстом "Отсутствует информация о добавлении товара в корзину". Вот мне нужно этот текст поймать и изменить на свой, но как это сделать? Перед return false; exception'а ещё нету, а после я на него уже повлиять не могу. И событий типа onBeforeExceptionThrown нету. Как это реализовать? Спасибо.