Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Кнопка очистить в сравнении товаров Opencart

Сделаем такую кнопку, чтобы было удобнее пользователю, не щелкать на каждое удалить, а сразу все убрать если нужно. Кнопка очистить в сравнении товаров Opencart:Вот что я хотел сделать (кнопка очистить):

 

Для этого нам нужно: сначала добавим на форму нашу кнопку (или где захотим). Для этого открываем файлик за это отвечающий \catalog\view\theme\default\template\product\compare.tpl:

<td><a href="/index.php?route=product/compare&clear=1">Очистить</a></td>

После чего в контроле добавим ее действие, для этого переходим в контрол \catalog\controller\product\compare.php и добавим нашу логику:

if (isset($this->request->get['clear'])) { // если кнопка очищаем нажата
unset($this->session->data['compare']); // удаляем весь массив сравнения
$this->session->data['success'] = "Очищен список сравнения"; // показываем это пользователю в строке
$this->redirect($this->url->link('product/compare')); // перемещаемся куда хотим (у меня на ту же страницу)
}

Наслаждайтесь, это все =).

Проверил на 1.5.4.1 и 1.5.5.1.

 

Если хотим чтобы возвращало на товар после очистки

Способ без отображения об успешной очистке, заменяем в тех же местах что и выше описано, но чуть изменим код.
в файле \catalog\view\theme\default\template\product\compare.tpl вместо той кнопки пишем:
<td><a href="/index.php?route=product/compare&clear=1&ref=<? echo urlencode($_SERVER['HTTP_REFERER']);?>">Очистить</a></td>

А в контроле \catalog\controller\product\compare.php :

if (isset($this->request->get['clear'])) { // если кнопка очищаем нажата
unset($this->session->data['compare']); // удаляем весь массив сравнения
if ($this->request->get['ref']!=""){
// перемещаемся на прошлую страницу (но он не покажет сообщение о том что успешно очищен)
$this->redirect(htmlspecialchars_decode (urldecode ($this->request->get['ref'])));
}
}

Название статьи при не правильной раскладке клавиатуры: Ryjgrf jXbcnbnm d chfdytybb njdfhjd Opencart
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Отзывов (11)

  1. Илья:

    Шоб тебе всегда код в картинках скидывали

  2. Илья:

    и к тому же не работает нифига!

    • Chizi:

      скажи что у тебя выдает илья, вроде же проверял, все добавил.

    • Chizi:

      Можно сделать и лучше, это просто быстрый вариант

  3. Александр:

    Страница не найдена.
    1.5.5.1

    • Chizi:

      кинь ссыль, хочу убедиться)

      • Надежда:

        Здравствуйте!
        Я сделала, как написано у Вас в статье. Кнопка «Очистить» появилась, но когда на нее нажимаешь, то вместо надписи «Очищен список сравнения» появляется «Запрашиваемая страница не найдена». Вот http://www.shtorka-skaterka.ru/compare-products?clear=1
        Подскажите, пожалуйста, что сделать?
        Спасибо!

        • Chizi:

          извинился ниже… и исправился… просто поспешно написал, только для себя, а теперь можно на любой сайт.

  4. Надежда:

    Да, и еще кнопка эта не работает! Список сравнения товаров не очищается. Как быть?

  5. Chizi:

    Извиняюсь перед всеми, просто у меня пути другие были( seopro ), а вам нужны стандартные, все исправил!!!
    Теперь у всех будет пахать!
    убедился на стоковом 1.5.4.1
    (Спасибо Надежде за настойчивость по решению проблемы).