原文地址: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

点击这里查看演示!

【翻译】从头开始编写一个Orchard网上商店模块(1) - 介绍相关推荐

  1. 从头开始编写一个时间序列数据库

    作者 | Ryo Nakao 译者 | 王雪迎   责编 | 张红月 出品 | CSDN(ID:CSDNnews) 本文翻译自Ryo Nakao 的个人博客(https://corecursive.c ...

  2. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  3. 从头编写操作系统_从头开始编写一个美丽的网站

    从头编写操作系统 作为流行教程"从头开始设计漂亮的网站"的续篇,我们将把漂亮的设计转换为有效HTML / CSS网站. 即使我们使用了960.gs模板,我们也不会使用其CSS框架来 ...

  4. linux的静态编译elf无法调试,[翻译]自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB...

    自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB 在上一节中,你已经听说了DWARF调试格式,它是程序的调试信息,是一种可以更好理解源码的方式 ...

  5. Orchard编写网上商店模块2

    其他操作按照http://www.ideliverable.com/blog?page=3博客中步骤操作就可以 下面说说需要注意的几点: widget的创建 在Models下添加一个继承自Conten ...

  6. 用VUE创建一个小型网上商店(一、创建项目)

    一.开始一个VUE项目之前 1. 开始之前先了解一下VUE相关的概念性的东西吧 Vue.js 官方文档上这样介绍:简单小巧的核心,渐进式技术栈.它提供了Web开发中常见的高级功能,如: 解耦视图与数据 ...

  7. 编写一个C语言程序 实现自我介绍,用c语言编程实现,别出心裁的情侣拍照

    满意答案 /********************************************************************************************** ...

  8. 怎样编写一个Photoshop滤镜(1)

    在很久前我曾经写过一篇文章简要讲述了 Photoshop 的滤镜开发的基本概念,并描述了滤镜和 PS之间的协作关系,也提供了一个雨滴效果滤镜的 Demo.但是缺少源代码.而且我们将要产生疑问,我们如何 ...

  9. Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字

    6.21(电话按键盘) 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示,编写一个方法,返回给定大写字母的数字, ...

最新文章

  1. 视频大变革:需要技术,也需要情怀
  2. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader )
  3. java学习之类型转换与越界
  4. mysql启动报错解决-1
  5. js平滑滚动到顶部,底部,指定地方 animate()
  6. C++前置声明的一个好处与用法
  7. PostgreSQL学习笔记YY(2)--Ubuntu下使用DDD调试查看源码(原创)
  8. 使用 TensorFlow 做文本情感分析
  9. Python内置的服务器的使用
  10. js request 应用举例
  11. 软件定义网络带来新的自动化优势和挑战
  12. 陶哲轩论文解析:从特征值到特征向量
  13. flutter doctor --android-licenses
  14. 深度信念网络python_深度信念网络python
  15. 笔记本过热、电脑cpu过热、限制CPU运行功率上限,轻松设置解决过热
  16. Windows 修改MAC地址
  17. Google Earth Engine(GEE)——在线统计美国人口和住房数据(以ee.Reducer.sum().repeat().group列表形式呈现)
  18. xp远程登录linux,Linux操作系统下如何远程登录XP桌面
  19. 信息化应用场景,华为云CDN能为企业做什么?
  20. 一念起,万水千山;一念灭,沧海桑田。

热门文章

  1. 直播、会员、营销……陌陌未来究竟靠什么赚大钱?
  2. 【金猿产品展】OceanBase 原生分布式数据库——从根本上解决海量数据管理的问题...
  3. PS利用调整图层只需两步为偏黄肤色MM调出水嫩效果
  4. 手机开发平台指南、教程和资料介绍(修改稿)
  5. Spring MVC入门:Spring MVC是什么?
  6. MBD-从一个示例看代码生成过程(rtw文件、TLC语言)
  7. 浏览器内核分类及常用浏览器内核
  8. VMware Workstation Pro虚拟机的详细安装步骤
  9. 智能手机也能编程?程序员的福音或是噩梦?
  10. mysql中索引的相关知识