Opencart-кнопка "Добавить в корзину" добавление продуктов x2 в корзину неправильно

Opencart-кнопка "Добавить в корзину" добавление продуктов x2 в корзину неправильно

23.10.2015 06:26:15 Просмотров 75 Источник

У меня есть свежая установка Opencart 1.5.6.4-ссылка здесь

На всех страницах моего продукта ( не на страницах категорий) - когда вы нажимаете "Добавить в корзину", он добавляет x2 всего.

Я попытался воссоздать продукт с новым названием SEO, названием, продуктом, новым номером модели - но все же, он добавляет его дважды в мою корзину?

Есть идеи? Любая помощь будет принята с благодарностью.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/33306096/opencart-add-to-cart-button-adding-x2-products-to-cart-incorrectly#comment54411481_33306096
Вы установили минимальное количество вашего продукта? Если да, то он автоматически добавит минимальное количество, если пользователь ввел количество меньше минимального.
https://stackoverflow.com/questions/33306096/opencart-add-to-cart-button-adding-x2-products-to-cart-incorrectly#comment54411880_33306096
Спасибо за ответ - это имело бы смысл-однако минимальное количество установлено на 1 - это применяется ко всем продуктам тоже не только индивидуально

Ответы - Opencart-кнопка "Добавить в корзину" добавление продуктов x2 в корзину неправильно / Opencart - 'Add to cart' button adding x2 products to cart incorrectly

Является ответом!
billynoah

26.10.2015 10:13:43

Это определенно конфликт или ошибка с расширением mmenu jquery, используемым для вашей навигационной панели и включаемым в качестве jquery.мменю.минута.все.Яш.

Закомментируйте строку:

$('nav#menu').mmenu();

И вы увидите, что кнопка корзины функционирует нормально. К сожалению, это нарушает вашу навигационную панель. Я хотел бы рассказать вам больше, но, возможно, стоит связаться с разработчиком этого расширения:

http://mmenu.frebsite.nl/support/problem-solving.html

или подать вопрос здесь:

https://github.com/BeSite/jQuery.mmenu/issues

Поскольку вы, по-видимому, используете самую последнюю версию, если действительно есть ошибка, она еще не исправлена. Я пошел вперед и добавил тег mmenu к вашему вопросу, который, надеюсь, может привлечь внимание кого-то с ответами. Удачи.

https://stackoverflow.com/questions/33306096/opencart-add-to-cart-button-adding-x2-products-to-cart-incorrectly/33340282#comment54477388_33340282
вы-легенда-спасибо вам!
user12243375

19.10.2019 05:23:50

[РАЗРЕШЕННЫЙ]

На всех страницах моего продукта ( не на страницах категорий) - при нажатии кнопки " Добавить в корзину " он добавляет x2 всего.

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

Первый из них находится в /catalog / view / javascript / common.JS:

function addToCart(product_id) {
    $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id,
            dataType: 'json',
            success: function(json) {

Второй тип обычно находится в папке / catalog/view/theme/ template /yourtheme/product / product.ТПЛ:

$('#button-cart').bind('click', function() {
$.ajax({
    url: 'index.php?route=checkout/cart/add',
    type: 'post',
    data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
    dataType: 'json',
    success: function(json) {

Если вы заметите данные: части кода. Один проверяет параметры, а затем добавляет в корзину, а другой просто добавляет в корзину.

Этот фрагмент кода data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'), проверяет параметры, а затем добавляет в корзину. Это обычно используется на странице сведений о продукте (product.ТПЛ). Этот фрагмент кода data: 'product_id=' + product_id,непосредственно добавляет продукт в корзину и обычно используется в другом месте на сайте (кроме страницы сведений о продукте). Где пользователь может просто добавить товар в корзину, а затем оформить заказ.

Причина, по которой вы получаете 2x элементов, добавленных в корзину, заключается в том, что вы используете фрагмент кода, который проверяет параметры, а затем добавляет в корзину. Чтобы сделать любую кнопку Добавить в корзину только один элемент в корзину (без проверки параметров), вам нужно будет использовать data: 'product_id=' + product_id,

Это будет выглядеть так

$('#button-cart').bind('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id,
dataType: 'json',
success: function(json) {
Закрыть X