asp.net 核心电子商务产品变体 UI
asp.net core e-commerce product variations UI
我决定在 asp.net 核心建立一个电子商务网站,但我还没有走得太远,我仍在努力敲定产品细节,但当它出现时我被卡住了谈到改变价格的产品变体/属性,以及我将如何允许用户创建这些变体而无需他们完全重新创建产品。
这个问题很相似,但没有回答我的问题,因为它没有显示价格变化,也没有显示您如何允许用户在创建产品时添加这些东西:
How to show product variation in detail page in ASP.NET
到目前为止,我的产品型号是这样的:
public class Product
{
[Key]
public Guid Id { get; set; }
[ForeignKey("Brand")]
public Guid? BrandId { get; set; }
public Brand Brand { get; set; }
public string Name { get; set; }
public ICollection<ProductCategory> Categories { get; set; }
[Column(TypeName = "money")]
public decimal BaseCost { get; set; }
public ICollection<ProductAttribute> ProductAttributes { get; set; }
public Guid TaxTypeId { get; set; }
public TaxType TaxType { get; set; }
public double? Weight { get; set; }
public decimal? ProductHeight { get; set; }
public decimal? ProductWidth { get; set; }
public decimal? ProductDepth { get; set; }
public string MainImageUrl { get; set; }
public string MainThumbnailUrl { get; set; }
public ICollection<ProductGalleryImage> ProductGalleryImages { get; set; }
}
这是我的属性
public class ProductAttribute
{
public Guid Id { get; set; }
public string Name { get; set; }
public ICollection<AttributeValue> Values { get; set; }
}
public class AttributeValue
{
public string Name { get; set; }
public decimal Cost { get; set; }
}
如您所见,每个属性都有一个名称和一个 "values" 的集合,每个 "value" 也有一个名称和一个成本。这是为了允许这样的事情:通用鞋 - 尺寸 10,50 英镑 ||尺码 5 £25
如果这些是没有 add/change 价格的通用设置值(尺寸、颜色),我可能只是让用户从产品中单独创建它们(事实上,这可能仍然是一个选项),并在产品创建期间使用令牌字段或其他东西添加属性。
我环顾四周,没能找到最好的方法,在我尝试让它工作之前,一切似乎都很简单!如果价格没有因变化而改变,我会笑的(可能卡在别处了!)。也许我可以让用户制作产品,然后重定向到一个表单,通过 ajax 一次添加一个属性/变体!?人们对此有何看法,完成这项工作的最佳方式是什么?如果有人能让我开始或指出我的方向,我将不胜感激!现在是 2:20am,所以我要去睡觉了,哈哈,又是一个深夜,我的头在我的桌子上撞来撞去!
马克,
您是对的,当您开始查看可能会或可能不会改变产品成本的产品属性时,事情会变得非常困难。我从事过许多电子商务解决方案,我们总能找到最好的方法是用户创建具有标准定义的产品。
然后他们可以添加附加到产品的属性。这通常是在带有 AJAX 模型、帖子等的网格中完成的。这个概念与您在上面列出的差不多,是我们通常采用的方式。
对于属性,我们允许用户创建一个属性(未绑定到产品),即尺寸、颜色等。然后他们可以将该属性添加到产品并提供该产品可用的值具体来说。这允许他们重复使用相同的属性,但为每个产品提供不同的值。
现在这更进一步,因为它可能会或可能不会影响价格,但也可能会影响产品的库存水平。假设您有 10 件粉色 5 号鞋,但只有 2 件蓝色 5 号鞋。
我知道这并没有直接告诉您如何做,而是让您了解如何实现。
现在有一个非常好的开源参考。检查 NopCommerce 产品属性和属性组合。
免责声明。我不为 NopCommerce 工作,但在该平台上做了很多工作。
我决定在 asp.net 核心建立一个电子商务网站,但我还没有走得太远,我仍在努力敲定产品细节,但当它出现时我被卡住了谈到改变价格的产品变体/属性,以及我将如何允许用户创建这些变体而无需他们完全重新创建产品。
这个问题很相似,但没有回答我的问题,因为它没有显示价格变化,也没有显示您如何允许用户在创建产品时添加这些东西: How to show product variation in detail page in ASP.NET 到目前为止,我的产品型号是这样的:
public class Product
{
[Key]
public Guid Id { get; set; }
[ForeignKey("Brand")]
public Guid? BrandId { get; set; }
public Brand Brand { get; set; }
public string Name { get; set; }
public ICollection<ProductCategory> Categories { get; set; }
[Column(TypeName = "money")]
public decimal BaseCost { get; set; }
public ICollection<ProductAttribute> ProductAttributes { get; set; }
public Guid TaxTypeId { get; set; }
public TaxType TaxType { get; set; }
public double? Weight { get; set; }
public decimal? ProductHeight { get; set; }
public decimal? ProductWidth { get; set; }
public decimal? ProductDepth { get; set; }
public string MainImageUrl { get; set; }
public string MainThumbnailUrl { get; set; }
public ICollection<ProductGalleryImage> ProductGalleryImages { get; set; }
}
这是我的属性
public class ProductAttribute
{
public Guid Id { get; set; }
public string Name { get; set; }
public ICollection<AttributeValue> Values { get; set; }
}
public class AttributeValue
{
public string Name { get; set; }
public decimal Cost { get; set; }
}
如您所见,每个属性都有一个名称和一个 "values" 的集合,每个 "value" 也有一个名称和一个成本。这是为了允许这样的事情:通用鞋 - 尺寸 10,50 英镑 ||尺码 5 £25
如果这些是没有 add/change 价格的通用设置值(尺寸、颜色),我可能只是让用户从产品中单独创建它们(事实上,这可能仍然是一个选项),并在产品创建期间使用令牌字段或其他东西添加属性。
我环顾四周,没能找到最好的方法,在我尝试让它工作之前,一切似乎都很简单!如果价格没有因变化而改变,我会笑的(可能卡在别处了!)。也许我可以让用户制作产品,然后重定向到一个表单,通过 ajax 一次添加一个属性/变体!?人们对此有何看法,完成这项工作的最佳方式是什么?如果有人能让我开始或指出我的方向,我将不胜感激!现在是 2:20am,所以我要去睡觉了,哈哈,又是一个深夜,我的头在我的桌子上撞来撞去!
马克,
您是对的,当您开始查看可能会或可能不会改变产品成本的产品属性时,事情会变得非常困难。我从事过许多电子商务解决方案,我们总能找到最好的方法是用户创建具有标准定义的产品。
然后他们可以添加附加到产品的属性。这通常是在带有 AJAX 模型、帖子等的网格中完成的。这个概念与您在上面列出的差不多,是我们通常采用的方式。
对于属性,我们允许用户创建一个属性(未绑定到产品),即尺寸、颜色等。然后他们可以将该属性添加到产品并提供该产品可用的值具体来说。这允许他们重复使用相同的属性,但为每个产品提供不同的值。
现在这更进一步,因为它可能会或可能不会影响价格,但也可能会影响产品的库存水平。假设您有 10 件粉色 5 号鞋,但只有 2 件蓝色 5 号鞋。
我知道这并没有直接告诉您如何做,而是让您了解如何实现。
现在有一个非常好的开源参考。检查 NopCommerce 产品属性和属性组合。
免责声明。我不为 NopCommerce 工作,但在该平台上做了很多工作。