Очистить корзину разом.

Тема в разделе "Общие вопросы", создана пользователем Андрей Быстров, 22 апр 2016.

  1. Андрей Быстров

    Андрей Быстров Пользователь

    Сообщения:
    88
    Симпатии:
    2
    OpenCart 2.2.0.0
    По умолчанию товары можно удалять по одному. Можно ли что-то придумать, чтобы пользователь мог разом всё удалить из корзины, а не по одному товару?
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    в файле \catalog\controller\checkout\cart.php

    добавить функцию
    PHP:
        public function clear() {
            
    $this->cart->clear();
            
    $this->response->redirect($this->url->link('checkout/cart'));
        }
    после чего, очищение будет доступно по ссылке index.php?route=checkout/cart/clear
     
    sashamaximiv и Андрей Быстров нравится это.
  3. Андрей Быстров

    Андрей Быстров Пользователь

    Сообщения:
    88
    Симпатии:
    2
    Спасибо, дополнительно вcтавил button и прикрепил к ней ссылку. Работает.
     
    sashamaximiv нравится это.
  4. sashamaximiv

    sashamaximiv Новичок

    Сообщения:
    3
    Симпатии:
    0
    спасибо, помогли. Можно еще автоматом возвращать на предыдущую страницу. У меня в хроме вообще нет перехода но корзина очищается:
    Код:
    public function clear() {
            $this->cart->clear();
            $this->response->redirect('Location: ' . $_SERVER['HTTP_REFERER']);
        }
    к слову код ставить так:
    https://prnt.sc/xrlspo
     
  5. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059
    Код:
    $this->response->redirect('ССЫЛКА')
    а не Location
     
  6. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    хаха

    Не советуй не проверив

    Мало того - HTTP_REFERER - нужно проверять на сущестование
    $this->response->redirect(this->request->server[$_SERVER['HTTP_REFERER']);