Здравствуйте.
Решил чуть-чуть допилить под себя шаблон для возможности предоставления покупателю выбора подарков.
Какая идея:
Создаем каталог с "подарками", который не виден в основном каталоге. Все "подарки" имеют цену 0 и общий артикул (в моем случае 777).
Покупатель в корзине видет ссылку "Выберете ваш подарок" и кликая по ней, попадает на страницу каталога подарков, где у него есть возможность выбрать себе один подарок.
Переход по ссылке возможен при заказе больше минимальной суммы заказа (в моем случае 2000р.). Так же невозможен повторный переход по ссылке, если подарок добавлен в корзину.
Что я сделал (понимаю, что сделал рукожопно, но моих знаний хватает только на это):
В файле cart.tpl (catalog\view\theme\revolution\template\revolution\checkout\cart.tpl) добавил 87 строкой
<td class="text-center hidden-xs"><b><a id="klik" onclick="prezent();"> Выберете Ваш подарок</a></b></td>
Получилось вот так
В конце cart.tpl добавил
<input type="text" style="display:none;" id="sum" value="<?php echo $total['text']; ?>"> //скрытый инпут для определения мин. суммы
<input type="text" style="display:none;" id="artik" value="<?php echo $product['sku']; ?>"> // для определения артикула
<script><!--
function prezent(){
var summ=document.getElementById("sum").value;
var prez = summ.replace(/[^\d,]/g, '');
var art=document.getElementById("artik").value;
var prez2 = art.replace(/[^\d,]/g, '');
if (prez < 2000){ // мин. сумма задается здесь
alert("дозакажите до 2000 руб.");
}else if (prez2 == 777){ // общий артикул подарков 777
document.getElementById('klik').style.display = 'none'; // это лишнее (делаем ссылку невидимой при повторном клике,
// но при обновлении страницы она сново видна
alert("уже в конзине.");
} else {
location.href = 'https://мой сайт/podarki/'; // каталог подарков
}
}
--></script>
Все меня устраивает, но есть небольшое но:
Если покупатель решит продолжить покупки после выбора подарка и добавит еще что-нибудь в корзину, то переход по ссылке опять становиться возможен.
Как это победить пока нет идей.
Возможно ли сделать что бы товар с определенным артикулом всегда был последним в таблице с покупками?
Или придется создавать массив из артикулов и проверять наличие артикула 777 (пока ума не приложу как это сделать)