[Решение] Удалить из корзины не работает при ЧПУ

Тема в разделе "Ошибки и их решения", создана пользователем Ален, 8 июн 2015.

  1. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    Проблема!
    Вы установили какую то тему и у вас не работает кнопка "Удалить" в корзине (та которая по ссылке ваш-сайт/cart) Но при выключенном ЧПУ кнопка работает.

    Решение!
    Дело в том что в "Русской сборке" сделаны красивые ЧПУ ссылки на все страницы, но про это разработчики тем не знают. Что бы устранить данный пробел, необходимо

    в файле \catalog\view\javascript\common.js

    кусок кода
    Код:
    function getURLVar(key) {
        var value = [];
    
        var query = String(document.location).split('?');
    
        if (query[1]) {
            var part = query[1].split('&');
    
            for (i = 0; i < part.length; i++) {
                var data = part[i].split('=');
    
                if (data[0] && data[1]) {
                    value[data[0]] = data[1];
                }
            }
    
            if (value[key]) {
                return value[key];
            } else {
                return '';
            }
        }
    }
    заменить на этот
    Код:
    function getURLVar(key) {
        var value = [];
    
        var query = String(document.location).split('?');
    
        if (query[1]) {
            var part = query[1].split('&');
    
            for (i = 0; i < part.length; i++) {
                var data = part[i].split('=');
    
                if (data[0] && data[1]) {
                    value[data[0]] = data[1];
                }
            }
    
            if (value[key]) {
                return value[key];
            } else {
                return '';
            }
        } else {             // Изменения для seo_url от Русской сборки OpenCart 2x
            var query = String(document.location.pathname).split('/');
            if (query[query.length - 1] == 'cart') value['route'] = 'checkout/cart';
            if (query[query.length - 1] == 'checkout') value['route'] = 'checkout/checkout';
           
            if (value[key]) {
                return value[key];
            } else {
                return '';
            }
        }
    }
     
    RoS, pdv и Zlata Jesen нравится это.
  2. gear03

    gear03 Новичок

    Сообщения:
    9
    Симпатии:
    1
    Добрый день. Данное решение, в моем случай не работает.
    OcStore, seopro включен, шаблон не стандартный. С выключенным Seopro прекрасно удаляется товар из корзины.

    Вопрос решил Вашим же советом из темы http://forum.opencart-russia.ru/threads/put-v-seopro.343/
     
    Последнее редактирование: 27 дек 2015
  3. Vlad

    Vlad Эксперт

    Сообщения:
    3.901
    Симпатии:
    939
    данное решение предназначено для русской сборки. У вас не она!!
     
  4. Джо

    Джо Новичок

    Сообщения:
    24
    Симпатии:
    0
    Подскажите, та же проблема, но у меня адрес корзины /shopping-cart/ как мне правильно прописать изменения в common.js ?
    Спасибо.
     
  5. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    в коде выше, заменить на ваше

            if (query[query.length - 1] == 'cart') value['route'] = 'checkout/cart';
     
  6. Джо

    Джо Новичок

    Сообщения:
    24
    Симпатии:
    0
    Я это сразу и попробовал, но результата ни какого, поэтому и решил написать.
     
  7. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    Тогда нужно смотреть на сайт. Если шаблон не стандартный у него свой файл common.js И напомню, решение для Русской сборки... И напомню, решение выше для русской сборки.
     
  8. Джо

    Джо Новичок

    Сообщения:
    24
    Симпатии:
    0
    Ясно( шаблон стандартный
     
  9. Джо

    Джо Новичок

    Сообщения:
    24
    Симпатии:
    0
    Может всё дело в том что у меня стоит SeoPro?
     
  10. vaporinua

    vaporinua Новичок

    Сообщения:
    1
    Симпатии:
    0
    помоги пожалуйста, не могу удалить товар из корзины, что только не делал уже, ничего не помогает вот сайт www.vapor.in.ua
    заранее спасибо
     
  11. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    Обратитесь в автору шаблона.
     
  12. pdv

    pdv Новичок

    Сообщения:
    7
    Симпатии:
    0
    Спасибо, товары снова удаляется и со страницы "корзина товаров" и из "dropdown-menu", но к сожалению страница "корзина товаров" не обновляется
    т.е. после нажатия на кнопку - удалить, в "dropdown-menu" товар исчезает, а на странице никаких изменений, пока не обновишь, может быть есть решение?

    до этого в контроллере был закомментирован 'success', пробовал разкомментировать, не помогло.
     
  13. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    Под каждую не стандартную тему или модифицированную нужно править код.
    Описание проблемы без ссылки на сайт, не несет никакой информативности.
     
  14. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    попробуйте так
    if (query[query.length - 2] итд....
     
  15. pdv

    pdv Новичок

    Сообщения:
    7
    Симпатии:
    0
    Сделал, товар исчезает из корзины, а на страничке изменений не происходит, то есть remove то работает, в чем проблема непойму
     
  16. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    Я вот не вижу, что вы сделали. Вот пишите что все пробовали, а не деле ничего.
    Файл у вас минифицирован. То что указал я и о чем идет речь выше, тоже не видно что сделано.
    Покажите участок кода, что вы сделали.
     
  17. pdv

    pdv Новичок

    Сообщения:
    7
    Симпатии:
    0
    подключил не минифицированый файл вот последнее изменение
    Код:
    function getURLVar(key) {
        var value = [];
    
        var query = String(document.location).split('?');
    
        if (query[1]) {
            var part = query[1].split('&');
    
            for (i = 0; i < part.length; i++) {
                var data = part[i].split('=');
    
                if (data[0] && data[1]) {
                    value[data[0]] = data[1];
                }
            }
    
            if (value[key]) {
                return value[key];
            } else {
                return '';
            }
        } else {             // Изменения для seo_url от Русской сборки OpenCart 2x
            var query = String(document.location.pathname).split('/');
            if (query[query.length - 2] == 'cart') value['route'] = 'checkout/cart';
            if (query[query.length - 2] == 'checkout') value['route'] = 'checkout/checkout';
          
            if (value[key]) {
                return value[key];
            } else {
                return '';
            }
        }
    }
     
  18. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
  19. pdv

    pdv Новичок

    Сообщения:
    7
    Симпатии:
    0
    Все получилось, удаляется и в корзине и в оформлении товаров, спасибо огромное! и Прошу прощения за тупники))
    Может еще можете мне объяснить почему кнопка дроп меню корзины после каждого удаления товара трансформируется в дефолтную модель? оО
     
  20. Alex-grsm

    Alex-grsm Новичок

    Сообщения:
    3
    Симпатии:
    0
    спасибо, помогли)