Как стать автором
Обновить

Комментарии 8

Как-то совсем уж мало.
Смысл статьи можно уместить в одно простое «В 1С-Битрикс есть события и их обработчики, например OnGetOptimalPrice...»
Сам по себе OnGetOptimalPrice предназначен для других целей и то, что его можно использовать для игры с множественными ценами не всегда и не всем очевидно. В статье приведён пример не вполне стандартного использования данного обработчика.
Все обработчики Битрикса суть места вставки хаков (обычно это всеми любимые костыли), меняюших поведение того или иного функционала.
Кстати, в приведённом примере 'CURRENCY' => "RUB" убивает мультивалютность, если она имеется.
Приведённый пример демонстрирует общие принципы работы с множественными ценами в Битрикс. Так-то там и цена расчитывается без учета скидок, нет кеширования выборок и т.п. Но смысл выкладывать рецепт салата, если хочешь лишь научить резать помидоры?))
Дело в том, что человек, плохо разбирающийся в таких нюансах просто скопирует Ваш код, а потом будет долго ругаться потому что «всё сломалось». Такая штука получается — для профессионалов Ваша статья бесполезна, а для новичков скорее вредна.
Если вы хотели научить «резать помидоры» — рассказали бы лучше о том, какие типы событий существуют, для чего предназначены, как влияют на работу системы и как грамотно с ними работать.
А Вы показали салат, ткнули пальцем в помидор и сказали «Вот так!».
С обработчиками в Битриксе работают как правило только профи, коим без лишней скромности я отношу и себя, и я лично был бы рад, если бы наткнулся на подобное(или альтернативное) готовое решение описанной проблемы и съекономил бы определённое время.

Что касается составления статьи про все типы событий в Битриксе, то эта идея конечно интересная, но бесмысленна т.к. в документации достаточно подробно они все описаны. Конечно, очень многие из них можно использовать не по прямому назначению(как в описаном выше примере), однако их настолько много, что я не видел смысла описывать всё в одной статье. В целом я планирую написать ещё ряд статей про те или иные недокументированные возможности Битрикса. Я не ставлю цель научить новичков работать с Битриксом «с нуля» — для этого есть бесплатные онлайн-курсы и документация. Мне важно показать лишь то, что осталось за кулисами доков.

документация и логика запрещают вам это делать. Нельзя работая с onGetOptimalPrice использовать параметры корзины. Об этом прямо написано в документации.

Этот вариант — не панацея. Нужно использовать его в связке с callback функциями, ибо здесь сначала считается сумма корзины, а потом добавляется товар, который уже, возможно, должен быть добавлен по ОПТ3
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации