Пытаюсь реализовать нечто, похожее на это - http://dev.1c-bitrix.ru/community/webdev/user/16899/blog/1854/, но почему-то код, добавленный на OnBasketAdd повисает, а если то же самое повесить на кнопку "Купить", то всё работает на ура. Идея в том, чтобы дарить покупателю подарок в зависимости от потраченной суммы. Есть инфоблок подарков (ID = 9), куда админ добавляет товары с нулевой ценой, у товара есть свойство "PROPERTY_PRICE" в которое заносится сумма, после которой покупателю даётся этот подарок и вот такой постой код призван это делать:
а вообше лучше поменять шаблон корзины.....чтобы он показывал подарок в корзине, но его не было бы в корзине. А реально добавлять в корзину в момент оформления заказа.
Иначе подарки будут добавляться, но не удаляться.....если почистить корзину от товаров, кроме того.....надо дополнительно мучаться при переходе очередного порога.......удалить более дешевый подарок и дать более дорогой.....
Бесконечный цикл из-за того что в событии о пополнении корзины вы пополняете корзину и тем самым снова вызываете обработчик события о пополнении корзины и так по кругу.
То есть если подарок дается один на весь заказ, то добавляйте его по событию OnOrder.
А чтобы он показывался в корзине до оформления заказа - правьте шаблон корзины и отображайте там дополнительную строчку с подарком, который пока еще не лежит в корзине, но который добавится при оформлении заказа.
Алексей Косоротов пишет: Бесконечный цикл из-за того что в событии о пополнении корзины вы пополняете корзину и тем самым снова вызываете обработчик события о пополнении корзины и так по кругу.