Hangmany

Добавление в корзину со страницы категорий

Рекомендуемые сообщения

Hangmany    0

Доброго!

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

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

Я пока что очень плохо разбираюсь в JS, поэтому не знаю как правильно считать данные и переправить их контроллеру.

Для поля количества товаров моих скудных знаний хватило. Так работает и передает в корзину правильно:

function addToCart(product_id) {
   var qty = $('input[id=quantity_'+product_id+']').val();
   if(!qty){qty=1;}
   $.ajax({
	  url: 'index.php?route=checkout/cart/update',
	  type: 'post',
	  data: 'product_id=' + product_id + '&quantity=' + qty,
	  dataType: 'json',
	  success: function(json) {
		 $('.success, .warning, .attention, .information, .error').remove();
		
		 if (json['redirect']) {
			location = json['redirect'];
		 }
		
		 if (json['error']) {
			if (json['error']['warning']) {
			   $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
			}
		 }  
		
		 $('#cart_total').html(json['total']);		
	  }
   });
}

Но вот как туда добавить еще и опции (они уже отображены рядом с товарами).

Я думал добавить еще одну переменную option(пока тренируюсь только на одном select):

var opt = $('select[id=select-'+product_id+']').val();
и передать ее контроллеру как и количество товара:

data: 'product_id=' + product_id + '&quantity=' + qty + '&option=' + opt,
Но в этом случае скрипт вообще не работает, вероятно, неправильно считываются данные из поля select.

На странице самого товара передача данных контроллеру идет целиком из всех полей на странице, но для страницы категорий так не пройдет, потому что будет много дублирующихся полей количества и опций.

Подскажите, пожалуйста, как можно реализовать передачу опций контроллеру. Или дайте ссылку на мануал какой-нибудь по JS, как правильно считать данные из поля и передать его - никак сам найти не могу.

Благодарю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hurupachka    54

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Hangmany    0

Для вывода атрибутов, описания, видео.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
konar777    3

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От agi

      1 600.00 руб
      Скачать/Купить дополнение


      Связанные / зависимые опции Opencart 2.x
      Модуль позволяет задавать зависимости между опциями товаров (например цвет и размер). Это дает возможность учета количества товаров на складе в разрезе комбинаций опций. Цены для различных комбинаций также могут отличаться.
      Для создания взаимосвязей в административной части магазина у опции товара появляется поле “Родительская опция”, а у значений - “Значение родительской опции”.
      В публичной части магазина в карточке товара пользователь не видит зависимые опции до тех пор, пока не выберет какое-то значение главной опции. Для зависимой опции отображаются только доступные значения исходя из выбранной родительской опции. Например, доступные размеры для выбранного цвета.
      Поддерживаются все типы опций.
      Цена товара в карточке товара меняется в зависимости от выбранной опции.Налоги не поддерживаются.
      Поддерживается только наиболее распространенный формат цены: точка в качестве разделителя дробной части и без разделитель для тысяч.
      Демо: http://option20eng.erpshop.ru
      логин/пароль: demo/demo
      Совместимость с любым установленным Вами шаблоном не может гарантироваться. Также могут возникать конфликты с другими расширениями, затрагивающими редактирование товара в административной части или карточку товара в визуальной части. Может потребоваться дополнительная адаптация модуля, которая осуществляется за дополнительную плату.
      Добавил agi Добавлено 03.07.2015 Категория Опции Системные требования Сайт разработчика http://conceptlogic.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop  
    • От agi
      Модуль позволяет задавать зависимости между опциями товаров (например цвет и размер). Это дает возможность учета количества товаров на складе в разрезе комбинаций опций. Цены для различных комбинаций также могут отличаться.
      Для создания взаимосвязей в административной части магазина у опции товара появляется поле “Родительская опция”, а у значений - “Значение родительской опции”.
      В публичной части магазина в карточке товара пользователь не видит зависимые опции до тех пор, пока не выберет какое-то значение главной опции. Для зависимой опции отображаются только доступные значения исходя из выбранной родительской опции. Например, доступные размеры для выбранного цвета.
      Поддерживаются все типы опций.
      Цена товара в карточке товара меняется в зависимости от выбранной опции.Налоги не поддерживаются.
      Поддерживается только наиболее распространенный формат цены: точка в качестве разделителя дробной части и без разделитель для тысяч.
      Демо: http://option20eng.erpshop.ru
      логин/пароль: demo/demo
      Совместимость с любым установленным Вами шаблоном не может гарантироваться. Также могут возникать конфликты с другими расширениями, затрагивающими редактирование товара в административной части или карточку товара в визуальной части. Может потребоваться дополнительная адаптация модуля, которая осуществляется за дополнительную плату.
    • От KoRNeT
      У заказчика есть опция, в которой 22тыс. значений.
      При этом возникает проблема при редактировании товара (подгрузка всех значений (22к) в селект опции), а также проблема при переходе в раздел "Опции", при загрузке списка всех значений опции.
      Есть мысль о 2х решениях, но не знаю даст ли это плоды:
      1) систему кеширования на мемкэше
      2) каким то образом прикрутить пагинацию в раздел "Опции", чтобы было ограниченное количество значений опции на страницу (не знаю есть ли уже готовый модуль. Если есть, поделитесь пжлста).

      Все это на Opencart 1.5.6. 
      Если есть какие -нибудь другие варианты в вашей голове, или кто-то сталкивался с подобной проблемой, или знает модули, которые могут решить проблему, отпишитесь тут пожалуйста. Очень надеюсь на поддержку. 
    • От Mywork
      Доброго времени суток, Уважаемые участники форума. Требуется модуль для простого и наглядного отображения в карточке товара опций (с характеристикой этой опции или артикулом), ценой (этой опции) и изменяемым количеством кнопки "Купить" (этой опции). Примеры тут:  http://tubatex.ru/catalog/1/21/, http://td-adel.ru/catalog/bedclothes/
      Есть подобные решения для Opencart 2.x, надо для Opencart 3.x. Данная тема не единичная и вопрос востребован многими. Прошу помочь в решении.
    • От iDiy

      599.00 руб
      Скачать/Купить дополнение


      Расширенный модуль меню (custom menu)
      Расширенный модуль меню (custom menu)
      Надежный и функциональный модуль витрины категорий, горизонтального и вертикального меню, позволяет создавать меню из произвольных элементов (custom ссылок) и/или использовать категории, товары, бренды и статьи из существующего каталога магазина.
       
      Особенности:
      неограниченный уровень вложенности; выборочные элементы меню (категории, производители, статьи, товары); произвольные ссылки с собственными параметрами (группы, классы, иконки...); горизонтальное адаптивное меню (Amazon стиль); вертикального меню в трех стилях: "Accordion", меню "Flyout" и меню "Drill Down"; многоуровневая витрина с эффектом "Accordion"; отображение меню для конкретной категории/производителя/товара; экспорт/импорт настроек модуля и структуры элементов меню; функция скрытия пустых(без товара) категорий и производителей; количество товаров категории и производителя без потери производительности; поддержка мульти-магазинов и групп пользователей; подключение и использование произвольных стилей и скриптов; всего 1 запрос к БД для всех категорий + товаров + производителей + статьи; всего 1 запрос к БД при подсчете количества товаров категории/производителя; модуль не заменяет системных файлов и не использует кеш; простая установка в меню дополнений...  
      Совместимость: OpenCart, ocStore, ocShop и другие сборки версий 2.1.x - 3.х
      Системные требования: PHP 5.6 - 7.0, Ioncube Loader 6+
       
      Демонстрация работы модуля на примере:
      Витрины категорий, Категории, Товара, Бренда
      Админ демо (логин/пароль: demo/demo)
       
      Добавил iDiy Добавлено 29.06.2017 Категория Модули Системные требования PHP 5.6 - 7.0, Ioncube Loader 6+ Сайт разработчика Старая цена Метод активации По запросу на почту Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу