与电子商务相关的条款

在电子商务设置中,我们有产品和变体 . 变体也是产品,但它们在某些属性上有所不同 .

例如:T恤可能因 SizeColor 属性而异 . 假设我们有 SizeColor 属性的以下选项 Color :红色,绿色 Size :小,大

然后,我们可以为这件T恤有4个变种


整个问题将使用以下术语:

Option Type :有助于创建变体的产品属性 eg :大小,颜色,材质等 .

Option Value :特定选项类型可能的值 . egSize 选项类型可以包含以下选项值 SmallMediumLargeExtra-Large

Variation theme :变体主题是创建变体所需的 option type 列表

Prototype :Prototype只是产品的模板 . Prototype帮助我们轻松创建产品 . 它存储以下信息: - 产品属性 - 变量主题

目标


我们有2个角色: AdminSeller

以下是角色可以做的事情

管理员可以

  • 创建产品类别(taxon)并将其与产品相关联 prototype

  • 将原型与特定产品类别的变体主题相关联

  • 创建变体主题

  • 为变体主题创建和关联选项类型

  • 为特定选项类型创建默认模板选项值

  • eg: Size 选项类型可以有 SMLXL 选项值

  • 如果需要选项类型,可以添加更多默认模板值

卖家可以

  • 创建产品

  • 选择产品的变体主题

  • 为所选变体主题填充选项类型 .

  • 可以为选项类型选择默认模板选项值 OR 为选项类型添加新选项值

以下是需要牢记的一些限制因素

  • 卖方查看管理员设置的选项类型的可能选项值

  • 当卖方为选项类型添加新选项值时,它不应影响Admin添加的选项值

数据库设计

图解图图像

让我们看看上面的数据库设计是否符合目标

  • Admin can create product category(taxon) and associate it with prototype.

  • Taxon 是一个类别节点并存储原型键,每个类别可以有一个原型 . 这确保了我们总是有一个类别与一个原型相关联 .

  • Associate prototype with variation themes for a particular product category.

  • Variation theme 存储原型id和protoype可以有许多变体主题 .

  • Admin can create and associate option types for variation theme

  • Variation theme 有很多 Option typestheme_option_types 表 .

  • Admin can create default template option values for particular option type.

  • Option values 特定 option type 可以存储在 template_option_value 中 . 例如 . 管理员可以将 smlxl 设置为卖家在创建产品时可以选择的默认值 .

  • 一个 option type 可以有很多 option values .

  • Seller can create product and select variation theme for a product.

  • 要创建产品,卖家必须选择产品可能属于的类别(分类) . 例如:智能手机产品可能属于 Electronics => Mobiles & Accessories => Smartphones & Basic Mobiles => Smartphones .

  • 作为产品直接与类别( taxon )关联,产品原型很容易找到 .

  • Populate option type for selected variation theme.

  • Prototype 有很多 variation themes ,因此可以根据所选主题中的 option type 创建 product for product .

  • Seller can either select default template option values for option type

  • 用户可以在 template_option_values 中显示选项类型的可能选项值 .

  • Seller can add new option type for option type

  • 由于选项值存储在不同的表中,即 . variant_option_values ,我们可以为该变体的选项类型添加尽可能多的选项值 .

  • 此外,新值不会添加到admin添加的默认选项中,因为我们为变体的选项值维护了不同的表 .

痛点

  • 这些值存储在不同的表( variant_option_values )中,因此当卖家选择主要由admin添加的选项值时,将重复这些值 .

  • 我也不确定我的设计是实现目标的最佳方式 . 需要验证和批评 .