Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Создание сложной формы для создания ассортимента
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
Добрый день, при написании интернет магазина, застопорился на добавлении ассортимента товара, необходимо что бы ассортимент создался автоматически по выставленным параметрам
то есть например цвет красный и синий, размер 43 и 44 создастся должны
красный 43
красный 44
синий 43
синий 44
(это самый самый примитивный пример как это сделать я знаю), проблема в том что одно свойство у товара может принимать несколько значений, то есть мне необходимо добавить типо сетов которые будут участвовать в товарах (сами свойства имеют уникальное имя на английском для добавления на форму)
то есть
это пример добавления сета в таком виде легко принять и разобрать такую форму, но если я добавляю еще один то свойства придут уже кучей которую не разобрать.
свойства и сеты добавляются JS
Вот на скрине не хватает только сейчас кнопки добавить сет, кнопка 1 добавляет еще вариант размера, кнопка 2 добавляет размер если в списке его не существует.
Добавление происходит простым клонирование элемента.
Вопрос в том как добавить еще одну или 2 строки размера чтобы их реально было принять массивом типа
размер = array(
0=>array(размер 1, размер 2.....),
1=>array(размер 1, размер 2.....),
2=>array(размер 1, размер 2.....)
) (Добавление)
чтобы не возникло вопроса зачем в товаре несколько размеров в одну разновидность добавлять, сразу объясню
Свойство размер я привел для примера в управлении можно создавать любые свойства, конкретно про размеру то для малышей один товар может подходить для 3,6,9 месяцев, и оно должно вписано быть в разновидность для правильности работы фильтра Прикреплено изображение (Нажмите для увеличения)
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
ага, но как сие представить на форме (Добавление)
все это войдет в состав отсылаемых данных
то есть если мне просто добавлять
сет 1
name="prop_size[]" value="1"
name="prop_size[]" value="2"
name="prop_size[]" value="3"
сет 2
name="prop_size[]" value="2"
name="prop_size[]" value="3"
то мне прилетит то что правильно не разберешь (Добавление)
не пробовал конечно, но может быть нужно что то типо:
сет 1
name="prop_size[1][]" value="1"
name="prop_size[1][]" value="2"
name="prop_size[1][]" value="3"
сет 2
name="prop_size[2][]" value="2"
name="prop_size[2][]" value="3"
armancho7777777
Отправлено: 13 Апреля, 2016 - 11:02:07
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Там же есть свойства товара: цвет, размер.
Объедините в группу с возможностью добавления дополнительных групп.
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
я не пойму как это написать на форме, все действие происходит в форме, при нажатии кнопки добавить происходит serialize() формы и она отправляется на сервер
armancho7777777
Отправлено: 13 Апреля, 2016 - 11:08:33
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Я вам всё на пальцах расписал.
Не знаю, как ещё объяснить.
То, что я нарисовал - это типа та часть формы, где эти свойства сгруппированы в строки и рядом кнопка "+" (добавить ещё).
При клике добавляется дополнительная группа с аналогичными полями.
3d_killer
Отправлено: 13 Апреля, 2016 - 11:10:43
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
Не могли бы показать пример HTML кода
armancho7777777
Отправлено: 13 Апреля, 2016 - 11:12:57
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
3d_killer пишет:
Не могли бы показать пример HTML кода
Ну вот мне делать нечего, верстать вам форму и JS писать.
Возьмите пощупайте готовое решение, прежде чем велосипедить.
OpenCart например.
Там модуль такой был, не помню как назывался.
Переписывал обработку/вывод,
т.к. тот быдлокодер повтыкал 20-25 вложенных итераций (наперед), не зная как сделать правильно.
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
armancho7777777 спасибо, далее разберусь
armancho7777777
Отправлено: 13 Апреля, 2016 - 11:33:13
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Не за что. (Добавление)
Ладно, сейчас блок этот накидаю. Минуту... (Добавление) https://jsfiddle[dot]net/2at87sm9/6/ (Добавление)
Значения цветов и размеров - идентификаторы свойств из базы.
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
Я уже понял как сделать, спасибо конечно, у меня все сложнее так как я же говорил, одного параметра в сете может быть несколько.
то есть как вы сделали размер можно выставить несколько значений, например
красный -> 3мес 6мес 9мес - это один товар
красный -> 6мес
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.