CodeIgniter ID корзины + опции - PullRequest
2 голосов
/ 18 августа 2010

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

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

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

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

1 Ответ

4 голосов
/ 18 августа 2010

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

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

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

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

...