Отключение бонусов в корзине в зависимости от количества добавленных товаров

Добрый день.

Подскажите, как прописать в коде cart.html

Что бы при добавлении в корзине больше 30 любых позиций окно с начисление бонусных баллов пропадало.

Ну или хотя бы показывало +0 бонусных баллов при >30 добавленных позиций

{if shopAffiliate::isEnabled()}
						<div class="bonus-container bonus-container_bd mb-hide{if empty($add_affiliate_bonus)} is-hidden{/if}">
							<div class="bonus-container__head">
								<div class="bonus-points">
									<div class="circle-icon-box circle-icon-box_star">
										<svg class="icon cent-icon" width="26" height="26">
											<use xlink:href="#icon-star-big"></use>
										</svg>
									</div>
									<div class="points-box">
										<strong>+{$add_affiliate_bonus|default:0}</strong>
										<span>[`points`]</span>
									</div>
								</div>
							</div>
							<div class="bonus-container__body">
								<div class="bonus-container__text">{sprintf("[`This order will add <strong>+%s bonuses</strong> to  your account, which you will be able to spend on getting additional discounts later.`]", $add_affiliate_bonus)}</div>
							</div>
						</div>
					{/if}

Спасибо.

2 ответа

  • 2

    если вы уберете блок - то он просто не будет выводиться, но бонусы начисляться будут
    то есть - скрытие блока ни как не повлияет на сам функционал

    вас это устроит?

  • 1
    Дмитрий Миллер 24 ноября 2020 13:59 #

    Со скрытие блока разобрались. Заменили строку

    {if shopAffiliate::isEnabled()}

    на

    {if shopAffiliate::isEnabled() && $wa->shop->cart->count() < 30}

    вопрос с отображением решился, теперь, да, надо разобраться с тем, где аналогичное условие добавить, чтобы это повлияло на функционал.

    • +2

      готового функционала нет

      надо писать плагин, который будет начислять бонусы с необходимыми условиями

      спросите у разработчика этого плагина, может его плагин умеет, но не уверен.

      и делать скрытие блока не было смысла. надо было решать условие начисления бонусов в первую очередь. + вы не учли возможность изменения кол-ва товара в корзине. если заказать 20 товаров а потом в корзине добавить еще 20 - блок будет виден

      • +1
        Дмитрий Миллер Дмитрий Миллер 24 ноября 2020 14:08 #

        Готового функционала конечно нет, но и заморачиваться с плагином это перебор, когда в данном конкретном случае нас полностью устроит добавление простого условия в обработку функции shopAffiliate


        То что корзина не обновляется в режиме реального времени (в т.ч. и бонусные условия) нас не тревожит, для этого как раз уже существуют готовые плагины.

        Ищем максимально кондовое решение.

        • +2

          добавление изменений в файлы движка приведет к тому что при обновлении будет слетать

          • +1
            Дмитрий Миллер Дмитрий Миллер 24 ноября 2020 14:22 #

            Безусловно это так. Но правку всегда можно сделать еще раз. Именно так мы и делаем например с шаблоном "баланс", после каждого обновления опять проходимся по всем правкам, смотрим какие моменты автор уже сам исправил, а какие нет и мы сами еще раз вносим их вручную. Так мы точно знаем, что все нужные нам моменты - работают как надо. И занимает это не так много времени.

            Плагин тоже не панацея, если в обновлении существенно меняется часть кода, с которой работает плагин, то он так же отваливается и приходится ждать, пока автор внесет правки.

            Поэтому мы все еще разбираемся с обработкой бонусной программы, чтобы найти где внести ручную правку.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите