Идентификатор корзины CodeIgniter + опции

У меня ситуация:

У меня есть продукты, которые находятся в пользовательском магазине CodeIgniter Cart. Каждый продукт имеет связанный с ним идентификатор, но также имеет параметры для него (размеры). Все эти размеры имеют разную цену. (Мы говорим о фотографиях, которые продаются с разным размером печати).

Поскольку CI Cart обновляет, добавляет и удаляет на основе вставленного идентификатора продукта, я не могу вставить один продукт с двумя разными размерами. На данный момент единственное решение, которое я могу придумать, - это передать идентификатор в корзину как IMAGEID_OPTIONID, чтобы он содержал оба идентификатора.

Однако я подумал, что может быть более простой и унифицированный способ сделать это? Или лучшее решение, чем идентификатор, который (сам по себе) не связан с чем-либо конкретным, если я его не взорву..?


person Craig Hooghiem    schedule 18.08.2010    source источник


Ответы (1)


Недавно я создал сайт с такими ограничениями. Короче говоря, вам нужно провести различие между «продуктами» и «группами продуктов». Думайте об этом как об управлении самыми дискретными единицами данных. На самом деле, рубашка среднего размера X на самом деле отличается от рубашки большого размера X ... вдвойне, если у вас есть цены, основанные на этих качествах (это становится более реалистичным, когда вы рассматриваете узоры или цвета ткани).

В любом случае, если у вас есть таблица «groups», таблица «product_groups» и таблица «products», вы можете разделить все эти идеи. В таблице продуктов вы можете иметь столбцы для «размера» и «цвета» (и любого другого отличительного свойства, которое вы можете придумать) и столбец для «цены». В качестве альтернативы вы можете пойти еще дальше и создать отдельные таблицы цен, которые сопоставляют цены с уникальными продуктами (это будет особенно полезно, если вы хотите отслеживать исторические цены и скидки).

Затем в своей корзине вы можете просто прикрепить product_id к cart_ids и выполнить пару объединений, чтобы определить, частью какой «группы» является этот продукт, какие изображения находятся в этой группе (или существуют для этого продукта) и так далее. Это не простая проблема, но следование этой мысли должно помочь вам встать на правильный путь.

И последнее замечание: отслеживание таких уникальных продуктов также значительно упрощает учет запасов.

person treeface    schedule 18.08.2010
comment
Мне нравится идея. Я должен посмотреть, смогу ли я применить это на практике. А пока это лучший ответ ;) - person Craig Hooghiem; 19.08.2010