tweenfaster
-
Публікації
6 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем tweenfaster
-
-
Спасибо, теперь я понял, попробую это реализовать. Премного благодарен Вам за разъяснение
-
Мне нужно, чтобы в шаблоне категорий, при выводе товаров из данной категории менялась кнопка на товаре, если этот товар добавлен в корзину. Я думал что самым простым способом было бы реализовать проверку, при выводе товаров и в зависимости от условия менять кнопку. Но я ни как не пойму как это сделать. Извините, если туплю
-
Подскажите пожалуйста, как реализовать в шаблоне категорий, после
foreach ($products as $product)
проверку, добавлен данный продукт в корзину, или нет?
-
Не знаю, может нужно кому будет, худо-бедно, но немного подпилил скрипт, чтоб работало на opencart 2.x. Подпиливал под свою тему, на основе шаблона coloring от xds, по этому возможно не у всех будет нормально работать
/* * Showmore plugin for opencart * Copyright (c) 2015 Shvarev Ruslan [email protected] * https://opencartforum.com/user/12381-freelancer/ */ $(document).ready(function () { if ($('.pagination li.active').next('li').length > 0) { $('.pagination').before('<div id="showmore" style="padding-bottom: 15px;"><a onclick="showmore()">Показать еще</a></div>'); } }); function showmore() { var $next = $('.pagination li.active + li a'); if ($next.length == 0) { return; } $.get($next.attr('href'), function (data) { $data = $(data); var $container = $('#content div.well + div.row'); $container.append($data.find('#content div.well + div.row .product-layout')); $('.pagination').html($data.find('.pagination > *')); if ($('.pagination li.active').next('li').length == 0) { $('#showmore').hide(); } $data.filter('script').each(function () { if ((this.text || this.textContent || this.innerHTML).indexOf("document.write") >= 0) { return; } $.globalEval(this.text || this.textContent || this.innerHTML || ''); }); //$('html, body').animate({ scrollTop: $container.offset().top - 10 }, 'slow'); if (localStorage.getItem('display') == 'list') { $('#list-view').trigger('click'); } else { $('#grid-view').trigger('click'); } }, "html"); return false; }
- 1
-
Ну ребят, ну вы вообще даете)) Код перед глазами у вас, читайте, там же все понятно. После комментария // Product List идет скрипт функции, которая обрабатывает событие - клик по объекту с id="list-view" . После комментария // Product Grid идет скрипт функции, которая обрабатывает событие - клик по объекту с id="grid-view". Обе функции в конце выполняют команды - в куках браузера сохранить своё значение в переменной display Вот этот код: localStorage.setItem('display', 'list'); и localStorage.setItem('display', 'grid'); соответственно. А после этих двух функций идет скрипт проверки:
- if (localStorage.getItem('display') == 'list') {
- $('#list-view').trigger('click');
- } else {
- $('#grid-view').trigger('click');
- }
Перевожу - если в куках браузера в переменной display находится значение равное list , то выполнить функцию обработки клика по объекту с id="list-view", во всех остальных случаях, выполнить функцию обработки клика по объекту с id="grid-view" Изначально кукисы в браузере отсутствуют, соответственно переменной display нет, это и есть все остальные случаи. Вам всего лишь нужно было поменять код
- if (localStorage.getItem('display') == 'list') {
- $('#list-view').trigger('click');
- } else {
- $('#grid-view').trigger('click');
- }
на
- if (localStorage.getItem('display') == 'grid') {
- $('#grid-view').trigger('click');
- } else {
- $('#list-view').trigger('click');
- }
- 3
Как сделать проверку в категории, добавлен товар в корзину, или нет?
в Допомога програмістам та розробникам
Опубліковано:
Спасибо. Хотя этот мод под версию 1.5, но принцип понятен, по аналогии легко адаптировать под 2.х. В нём всё средствами javascript реализовано. А я наверно комбинирую оба способа - скриптом буду менять во время добавления и удаления товара, а средствами php во время загрузки странички. Не хочу много навешивать на $(document).ready... Хотя не уверен, есть ли вообще смысл так делать