Модуль "Скидки и промокоды"


Модуль "Discounts" предназначен для управления скидками и промокодами. Данный модуль является дополнением к стандартному модулю "Корзина" (Cart), который необходимо скачать и установить в случае, если он не установлен.

 

Промокоды.

После создания в панели управления промокода с нужными параметрами необходимо добавить специальную форму в шаблон корзины.

	<div class="card">
		<div class="card-body">
			<h3 class="card-title">Промокод</h3>
			<div class="row">
				<div class="col-md-6 col-sm-12"><input class="form-control" id="promocode" placeholder="Промокод" type="text" /></div>
				<div class="col-md-6 col-sm-12"><button class="btn btn-style-5" id="activate_code" type="button">Применить</button></div>
				<div class="col-md-12" id="activate_result"> </div>
			</div>
		</div>
	</div>
	<script type="text/javascript">
	document.addEventListener("DOMContentLoaded", () => {
		$('#activate_code').on('click', function (e) {
			let data = new FormData();
			let promocode = document.querySelector("#promocode").value;
			data.append("promocode", promocode);
			fetch('/discounts/getPromocode', {
				method: 'POST',
				body: data,
				headers: {
				'x-miwix-json': 'true'
			}
			}).then(response => response.json())
			.then((l) => {
				if (l.res == true) {
					document.querySelector('#activate_result').innerHTML = '<font color="green">'+l.message+'</font>';
					document.querySelector('#cost_amount').innerText = l.cost_amount;
					document.querySelector('#total_amount').innerText = l.total_amount;
					document.querySelector('#shipping_amount').innerText = l.shipping_amount;
				} else {
					document.querySelector('#activate_result').innerHTML = '<font color="red">'+l.message+'</font>';
				}
				setTimeout(function () {
					document.querySelector('#activate_result').innerHTML = '';
				}, 3000);
			})
		});
	});
	</script>

 

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

  1. Для обновления информации в поле "Стоимость покупки" нужно добавить id="cost_amount"
  2. В случае если в настройках указана стоимость доставки, а также сумма заказа для бесплатной доставки, можно обновлять информацию в поле "Стоимость доставки". Для этого нужно добавить id="shipping_amount"
  3. Для обновления информации в поле "Итоговая стоимость", нужно добавить id="total_amount"