Перейти к содержимому


Фото
- - - - -

множество вариантов товара


  • Чтобы отвечать, сперва войдите на форум
5 ответов в теме

#1 Kami

Kami
  • Пользователь
  • 343 сообщений
  • Откуда:Россия

Опубликовано 31.01.2019 - 23:24

Есть масса доработок ( 2 параметра у варианта или 3) но тут потребовалось сделать гораздо больше параметров у варианта.

Что было сделано, создана таблица для создания доп вариантов.

Соответственно эти доп варианты выборочно добавляются при редактировании товара.

 

Например :

 

Создаем доп варианты:

 

Вес:

Рост:

Длина:

Ширина:

 

 

Дальше идем в карточку товара и привязываем доп варианты к товару. Все ок.

 

Заполняем варианты и доп варианты( параметры) и дальше вывод самих доп. вариантов.

 



	{foreach $product->dopvariant as $dv}
              <label>{$dv->name}</label>
             <select id="{$dv->id}" name="{$dv->id}">
	    {foreach $product->variants as $v}
            <option value="{$v->id}">{$v->dopvariant.{$dv->id}}</option> 
		        {/foreach}
		  {/foreach}   

Смотрим какие доп варианты есть товара и выводим его название, 

Дальше в селекте выводим выпадающим списком эти параметры. 

 

Все параметры выводятся, встал вопрос о сортировке, т.е. хотелось бы сортировать так, чтоб предыдущий параметр сортировал следующий .

 

Начинаем конечно же со стандартного варианта, например имеем товары

 

Вариант 1    Вариант 1  Вариант 1

20 кг             20 кг            25 кг

160 кг           160 кг          160 кг

200 см         180 см         180 см

50 м             10 м                 9 м

 

Выбираем Вариант 1, следующий селект ( первый параметр  в массиве) сортируется и так как значения все Вариант 1 , то следующий селект имеет 3 значения, но 2  значения одинаковы, то будет выбор 20, 25 кг, Выбираем 20 кг, и дальше выбор 160 кг ( значение одно у всех) но по факту выбираем уже из 2 товаров, третий отброшен.

Дальше на выбор 200 см и 180 см. Выбираем 200 и остается параметр 50 м.

По итогу мы выбрали 1 товар. 

 

Подскажите как реализовать именно так чтоб это не зависело от количества параметров. Ведь в одном случае их может быть 4, в другом 5 , 6 и т.д.

 

 



#2 phukortsin

phukortsin
  • Фрилансер
  • 879 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 01.02.2019 - 08:55

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



#3 Kami

Kami
  • Пользователь
  • 343 сообщений
  • Откуда:Россия

Опубликовано 01.02.2019 - 09:55

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

 

Собственно в js то мне и осталось.



#4 Kosjak76

Kosjak76
  • Модератор
  • 3 829 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 01.02.2019 - 11:24

я когда-то делал подобное через   AJAX

По-моему, так проще, чем через джаваскрипт перебирать массив



#5 Kami

Kami
  • Пользователь
  • 343 сообщений
  • Откуда:Россия

Опубликовано 01.02.2019 - 21:09

я когда-то делал подобное через   AJAX

По-моему, так проще, чем через джаваскрипт перебирать массив

 

 Нет подобного примера?


Изменено: Kami, 01.02.2019 - 21:12


#6 phukortsin

phukortsin
  • Фрилансер
  • 879 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 02.02.2019 - 09:45

я когда-то делал подобное через   AJAX

По-моему, так проще, чем через джаваскрипт перебирать массив

 

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






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых