Корректировка заказа в корзине (с возможностью пользовательского QTY)

В настоящее время использую скрипт доставки еды, который на самом деле потрясающий и удовлетворяет всем основным требованиям, которые я искал! Однако небольшая проблема заключается в том, что когда вы добавляете что-то в свою корзину, если вы хотите изменить количество, вы должны нажать на знак - или +. Как я могу удалить это и заменить его на поле, которое позволяет пользователю вводить свой собственный номер вместо того, чтобы медленно нажимать знак +.

Ниже приведен код раздела корзины.

<td>
<a href="#" class="fdCartAdjust" data-hash="<?php echo $hash; ?>" 
data-direction="down">-</a> <?php echo $item['cnt']; ?> <a href="#" 
class="fdCartAdjust" data-hash="<?php echo $hash; ?>" data-direction="up">+</a>
</td>

Также здесь изображение корзины, где - - показывает

Дополнительный код CSS, связанный с этим разделом корзины -

.fdCartAdjust{
text-decoration: none;
}

Любая помощь будет удивительной.

1 ответ

Решение

В целом (как упомянуто из многолетнего программиста OpenCart), это немного сложная задача. Это не сложно, но сложно.

Эти корректировки сделаны с помощью JS+jQuery. При нажатии на ссылку с классом fdCartAdjustпроизойдет какое-то событие, которое отправит запрос AJAX в вашу "корзину покупок", который добавит или удалит (зависит от атрибута "направление данных") одну единицу товара.

Вам нужно найти в JS-коде какую-то часть вида:

$('.fdCartAdjust').on('click', function(){
    //blahblah
});

Или же:

$('.fdCartAdjust').click(function(){
        //blahblah
});

Или что-то подобное. Посмотрите на этот код и определите, какой адрес используется для отправки запроса. Например index.php?route=product/cart/add,

В зависимости от этого адреса вам необходимо определить код PHP, который отвечает за добавление / удаление единиц в корзину.

Поскольку вы определили это, вы можете изменить этот код или добавить новый, который будет обслуживать ситуацию, когда вам нужно обновить корзину с новым томом, а не просто добавить / удалить один блок.

После добавления кода PHP замените <?php echo $item['cnt']; ?> к <input type="text" value="<?php echo $item['cnt']; ?>" class="fdCartChange"> и добавьте в свой JS что-то вроде:

$('.fdCartChange').on('change', function(){
    //code which will send request to PHP code you added.
});

Это сложная задача. В целом, вам нужно понять структуру вашего текущего механизма "корзины покупок" для выполнения этих "маленьких" корректировок. Из кода, который вы опубликовали, я даже не вижу, какой движок вы использовали, поэтому я опубликовал примерный план для OpenCart. Для других движков этот алгоритм может быть другим.

Другие вопросы по тегам