原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-1
介紹
在這個系列博客中,我們將共同經歷從頭開始構建一個Orchard模塊的過程!
雖然Orchard是一個了不起CMS(內容管理系統),有着強大的功能和令人振奮的架構,可以無限的擴展,但它可能需要花費一定時間,以充分了解它的架構,並能夠定制您自己的主題的各個方面或甚至創造整個模塊來集成Orchard所有的可擴展性點。
我希望,你將受益於我前進的道路上所獲得的知識,你會看到Orchard及其架構之美。它不僅只是在簡單或高級的網站和博客方面表現很出色,同時它也是一個非常基礎的平台,用於創建各種基於Web的應用,如電子商務后端, CRM的投票系統,項目管理,社區網站,學習管理系統等等。基本上你打算從頭創建的任何應用都應考慮使用Orchard創建。Orchard實際上是一個可擴展的框架,它不僅僅“只是”一個CMS。你可以通過插件方式做任何常規ASP.NET MVC應用可以做的事,同時Orchard還擁有一套豐富的功能和兼容概念,你可以獲得額外的好處。
本播客系列主要面向剛剛接觸Orchard的ASP.NET MVC開發人員,在開始深入這前,如果您還沒有閱讀過下面文章,我強烈建議您先閱讀以下文章:
http://docs.orchardproject.net/Documentation/How-Orchard-works
http://msdn.microsoft.com/en-us/magazine/hh708754.aspx
網上商店功能
我們的網上商店模塊將啟用以下功能:
- 管理員將能夠將任意ContentType(內容類型)通過附加到ProductPart上,從而把它變成產品。
- 網站訪客(顧客)將能夠把產品添加到購物籃,通過網站注冊,並成為注冊用戶。
- 用戶將能夠進行結算和通過在線支付服務提供商(PSP)支付(在我們的演示,我們將使用Ogone模擬PSP)選定的產品。
- 在客戶被重定向到PSP之前,系統將創建一個Order(訂單)記錄,及其OrderDetail (訂單明細)記錄。
- 在客戶支付訂單后,我們需要處理的產品交付。在實物產品的情況下,我們可能要通知一些航運伙伴。在虛擬產品的情況下,我們可能要產生類似於票據,或其他近似的產品。為了這種靈活性,我們將實現某種接口IShippingProvider,我們將創建兩個簡單的實現:一個是發送電子郵件通知托運人,另一個會產生票據。
- 管理后台,使管理員能夠管理客戶以及訂單。
(注意: 關於嵌入截圖, 出現一些截圖太小,你只需拖動圖片到您的瀏覽器的地址欄中,查看其原始大小的圖片。)
好吧,就讓我們開始創建Orchard Webshop Module(網店模塊)!
第1部分 - 簡介(本篇)
第2部分 - 配置您的Orchard開發環境
第3部分 - 創建Orchard.Webshop模塊項目
第4部分 - 創建ProductPart
第5部分 - 創建和渲染ProductCatalog的內容類型
第6部分 - 創建購物車服務和控制器
第7部分 - 渲染ShoppingCart和ShoppingCartWidget
第8部分 - 注冊新客戶與網站
第9部分 - 創建訂單和與PSP通信
第10部分 - 客戶和訂單管理后端
第11部分 - 在內容列表中定制產品和類別的:DisplayTypes
第12部分 - 與ERP系統集成
第13部分 - 處理運費和稅費
第14部分 - 實施付款方式:Google Checkout
第15部分 - 實施付款方式:PayPal
點擊這里查看演示!