Простые корзины покупок - это просто массивы продуктов, которые поддерживаются с помощью сеансов и файлов cookie. Вы можете делать все что угодно. Просто убедитесь, что пользователи не могут делать все, что они хотят, например, изменять цены через URL. Но, прежде всего, пользователю очень легко оформить заказ.
Большинство разработчиков создают массив с объектами продукта, поэтому при внесении каких-либо изменений в корзины покупок продукта это изменение будет отражено. Тем не менее, если вы измените цены, то, очевидно, у вас возникнут проблемы, если пользователь нажмет на цену, но затем вы ее измените, и пользователи не увидят это изменение до тех пор, пока они не заплатят или не запутаются, почему цена выросла в середине покупок. .
С точки зрения поддержания позиции, если у вас есть пользователи, прежде чем они смогут добавлять товары в корзину, вам не нужно беспокоиться о создании файла cookie / сеанса для хранения массива позиций до тех пор, пока они не выполнят проверку. и позиции сохраняются с их информацией для последующего использования.
В этом случае вам нужно создать позицию, связанную с объектом, чтобы вы могли получить всю информацию о продуктах, но в то же время сохранить цену в этой фактической модели LineItem
, так что если вы это сделаете обновите цену, это не повлияет на покупательский опыт в середине покупок.
И если вы хотите, чтобы пользователи платили более высокие цены, потому что вы передумали и хотите использовать модель позиции, вы можете просто сделать то, что указано в последнем абзаце, и проверить цену прямо перед тем, как пользователь решит оформить заказ. Если это не так, пусть они не говорят, что этот продукт теперь на сумму x, и не забудьте извиниться.