Господа, очень часто сталкиваемся с такой задачей, как "нештатные скидки", или "нештатный алгоритм расчета цены товара".
На форуме уже не первый год поднимались похожие вопросы, но к сожалению ни в одном из них не пришли к решению задачи.
Пример задачи: например у нас есть инфоблок со скидками, с привязками к пользователям, нужно автоматически в зависимости от пользователя, применить эту скидку.
Или цена товара рассчитывается по следующему алгоритму "Базовая цена + коэффициент", где коэффициент меняется в зависимости от разных признаков, например группы пользователя.
Трудности в следующем: не получается "малой кровью" пересчитывать цены или скидки, чтобы пересчитанная цена отображалась как в каталоге товаров, так и в корзине и других компонентах, где идет вывод товара с ценой.
Т.е. событие OnGetOptimalPrice срабатывает только в корзине. Приходится руками кастомизировать шаблон детальной страницы карточки товара, списка товаров, если подключен умный поиск со всплывающими подсказками по каталогу, то и там соответственно.
Искали разные события в ядре, которые помогли бы только в одном месте внести изменения по алгоритму расчета цены, и никакие шаблоны не кастомизировать. К сожалению ничего еще не нашли.
Может у вас есть какие-то мысли или решения проблемы?
Также, было бы прекрасно, если бы штатные скидки, можно было привязывать к пользователю и при этом они обрабатывались не только в правилах корзины, но и в каталоге товаров. А как решаете такую задачу? То что нужны скидки с привязкой к пользователям, что бы работали по всему сайту?