Корректировка заказа в корзине (с возможностью пользовательского 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. Для других движков этот алгоритм может быть другим.