Удаление товара из корзины по кнопке «минус», если осталась одна штука
Содержание
Решение представлено для стандартного компонента bitrix:sale.basket.basket.
Добавляем новую переменную
В файле шаблоне корзины <шаблон корзины>/mutator.php в цикле перебора товаров корзины добавляем в конце новое условие:
<?php
foreach ($this->basketItems as $row) {
//...
if ($rowData['QUANTITY'] == 1) {
$rowData['DELETE_ON_MINUS'] = 'Y';
}
$result['BASKET_ITEM_RENDER_DATA'][] = $rowData;
}
Т.е. устанавливаем дополнительный флаг, если количество товара в корзине сейчас равно 1.
Выводим в шаблоне
Данные, сформированные в mutator.php, передаются в шаблон компонента и в том числе в файл <шаблон корзины>/js-templates/basket-item.php.
В файле basket-item.php находим место, где выводятся кнопки изменения количества товара, и код кнопки «минус» дополняем следующим образом:
{{#DELETE_ON_MINUS}}
<button class="basket-item-amount-btn-minus" data-entity="basket-item-delete"></button>
{{/DELETE_ON_MINUS}}
{{^DELETE_ON_MINUS}}
<button class="basket-item-amount-btn-minus" data-entity="basket-item-quantity-minus"></button>
{{/DELETE_ON_MINUS}}
Данное условие означает следующее: если переменная {{DELETE_ON_MINUS}} существует, то показывается кнопка удаления товара, а если не существует, то показывается кнопка уменьшения количества товара.
Оставьте комментарий
Если эта статья была полезной для вас, оставьте комментарий ниже или задайте интересующий Вас вопрос. Ваш опыт может помочь другим читателям!
Написать комментарий