Блог

Убрать из корзины скрытые товары

В некоторых интернет-магазинах на платформе 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>
Просмотры: 123