В некоторых интернет-магазинах на платформе Webasyst клиенты создают заказы по несколько дней. Часть товаров, которые они кладут в корзину заканчиваются и их скрывают владельцы магазина. А вот из корзины скрытые товары не убираются у клиента. В итоге клиент может оформить заказ с товаром, который уже не актуален или нет в продаже.
Вот простое решение - скрипт, который будет проверять статус товара и удалять его при очередном посещении страницы корзины.
JS
Добавьте в файл cart.js вашей темы дизайна данный фрагмент скрипта
$(function () {
//...тут старый код
$('.delete_product').each(function(){
$(this).click();
});
});
HTML
Добавьте в файле cart.html после {foreach $cart.items as $item} в <div> (вместо div у вас может быть tr) {if $item.product.status == 0}style="display: none;"{/if}.
Мы скрываем товар, который имеет статус "скрытый"
{foreach $cart.items as $item}
<div data-id="{$item.id}" {if $item.product.status == 0}style="display: none;"{/if}>
...
</div>
{/foreach}
Тут же в foreach к кнопке удаления товара добавьте class с условием {if $item.product.status == 0} delete_product{/if}
<a href="#" class="delete{if $item.product.status == 0} delete_product{/if}" title="[`Remove from cart`]">Удалить</a>
