spreecommerce - возможность сохранения настроек для заказанного товара - PullRequest
0 голосов
/ 22 февраля 2012

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

, что было бы лучшим способом построить это - возможно, это немного сложнеея добавляю 2 поля в spree_line_items: "custom_front" и "custom_back" и добавляю поле к продукту, чтобы проверить, можно ли его настроить?Это лучший способ?

и серьезно, я не знаю, почему stackoverflow означает, что эти вопросы не соответствуют стандартам качества.лол

Ответы [ 2 ]

2 голосов
/ 24 февраля 2012

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


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

Таблица «персонализации» будет содержать поля id, line_item_id, custom_front и custom_back.


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


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

Я рекомендую этот метод, потому что:

  • Абстрагирование его в отдельную таблицу немного более удобнос точки зрения обслуживания, т. е. когда вы собираетесь обновить Spree в будущем, к вашей таблице не нужно будет прикасаться.
  • Модель данных немного более нормализована.Не все позиции будут иметь прикрепленные персонализированные данные, поэтому у вас будет немного меньше места для хранения данных, если хранить их в отдельной таблице.
0 голосов
/ 06 марта 2012

Существует расширение, которое обрабатывает то, что вы ищете: http://spreecommerce.com/extensions/166-spree-flexi-variants

Даже если вы уже решили свою проблему, посмотрите, как я знаю, он работает над перепиской и ищет обратную связь.

...