2017-08-02 69 views
1

我已經決定在asp.net核心中創建一個電子商務網站,而且我還沒有走得很遠,我仍然試圖敲定產品詳細信息和當涉及到改變價格的產品變化/屬性,以及我如何允許用戶創建這些變體而無需完全重新創建產品時,我就陷入了困境。asp.net核心電子商務產品變體UI

這個問題是相似的,但沒有回答我的問題,因爲它沒有顯示價格變化或你將如何允許用戶創建產品時添加這些東西: 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; } 
} 

正如你可以看到每個屬性都有一個名稱和「價值觀」的每個「值」還有一個名字,集合和成本w ^埃爾。這是爲了允許諸如:通用鞋 - 尺寸10,£50 ||大小5英鎊25

如果這些是不增加/更改價格的常見設置值(大小,顏色),我可能只是讓用戶從產品單獨創建它們(實際上可能仍然是一個選項),並且只需在產品創建期間使用一個記號字段或其他內容來添加該屬性即可。

我環顧四周,無法找到做到這一點的最佳方式,直到我試圖使其工作起來,這一切似乎直截了當!如果價格沒有被變化我會笑(可能停留在其他地方!)。也許我可以讓用戶製作產品,然後重定向到表單,通過ajax一次添加一個屬性/變體。什麼是人們對此的想法,完成這件事的最佳方式是什麼?如果有人能讓我開始或指向我的方向,將不勝感激!現在是凌晨2點20分,所以我要睡覺哈哈,另一個深夜將我的頭撞在我的桌子上!

回答

0

馬克,

你是正確的,事情就當你開始看可能會或可能不會改變產品的成本產品屬性真的很難。我從事過許多電子商務解決方案,並且我們一直髮現,最好的方法是用戶使用標準定義創建產品。

然後,他們可以添加附加到產品的屬性。這通常是在一個帶有AJAX模型,帖子等的網格中完成的。這個概念與上面列出的概念非常相似,正如我們通常所做的那樣。

對於屬性,我們允許用戶創建屬性(不綁定到產品),即大小,顏色等等。然後他們可以將該屬性添加到產品並提供該產品可用的值。這允許他們重複使用相同的屬性,但是在每個產品上提供不同的值。

現在更進一步,因爲它可能影響或不影響價格,但也可能影響產品的庫存水平。假設你有粉紅色的10號5號鞋,但藍色鞋只有2號5號鞋。

我意識到這並不能告訴你如何直接做,但給你一個如何實現這一點的想法。

現在有一個非常好的開源參考。 Checkout NopCommerce產品屬性和屬性組合。

免責聲明。我不爲NopCommerce工作,但在這個平臺上做了很多工作。

+0

Thanks @Nico thats幾乎是我之後;幸運的是,有一點睡眠的事情會好一點! –

+0

通過您提供的鏈接和信息,我應該可以實現某些功能。我想我有更多的深夜在我之前:) –