zoukankan      html  css  js  c++  java
  • Orchard是一个了不起CMS(内容管理系统)

    在这个系列中,我们将共同经历从头开始构建一个Orchard模块的过程!

    虽然Orchard是一个了不起CMS(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间,以充分了解它的架构,并能够定制您自己的主题的各个方面或甚至创造整个模块来集成Orchard所有的可扩展性点。

    我希望,你将受益于我前进的道路上所获得的知识,你会看到Orchard及其架构之美。它不仅只是在简单或高级的网站和博客方面表现很出色,同时它也是一个非常基础的平台,用于创建各种基于Web的应用,如电子商务后端,  CRM的投票系统,项目管理,社区网站,学习管理系统等等。基本上你打算从头创建的任何应用都应考虑使用Orchard创建。Orchard实际上是一个可扩展的框架,它不仅仅“只是”一个CMS。你可以通过插件方式做任何常规ASP.NET MVC应用可以做的事,同时Orchard还拥有一套丰富的功能和兼容概念,你可以获得额外的好处。

    本播客系列主要面向刚刚接触Orchard的ASP.NET MVC开发人员,在开始深入这前,如果您还没有阅读过下面文章,我强烈建议您先阅读以下文章:

    http://www.orchardch.com/Document

    网上商店功能

    我们的网上商店模块将启用以下功能:

    • 管理员将能够将任意ContentType(内容类型)通过附加到ProductPart上,从而把它变成产品。
    • 网站访客(顾客)将能够把产品添加到购物篮,通过网站注册,并成为注册用户。
    • 用户将能够进行结算和通过在线支付服务提供商(PSP)支付(在我们的演示,我们将使用Ogone模拟PSP)选定的产品。
    • 在客户被重定向到PSP之前,系统将创建一个Order(订单)记录,及其OrderDetail (订单明细)记录。
    • 在客户支付订单后,我们需要处理的产品交付。在实物产品的情况下,我们可能要通知一些航运伙伴。在虚拟产品的情况下,我们可能要产生类似于票据,或其他近似的产品。为了这种灵活性,我们将实现某种接口IShippingProvider,我们将创建两个简单的实现:一个是发送电子邮件通知托运人,另一个会产生票据。
    • 管理后台,使管理员能够管理客户以及订单。

     

    创建Orchard.Webshop模块项目


    这是从头开始编写一个新的Orchard模块的教程,实际上原文里前面还有两篇关于介绍如何安装Orchard,因为网站里有很多文章已经介绍如何安装,这里就不再重复了。
    Orchard模块是一个真正的ASP.NET MVC的Area类库,同时遵循了ASP.NET MVC和Orchard的特定的规范。
    Orchard 规范提升了您的ASP.NET MVC Area,因此,它可以集成到Orchard中。
    现在,我们可以使用Orchard命令行应用程序为我们生成一个基本结构,但是让我们使用Visual Studio从头开始,使我们充分理解,一个模块可以简单到一个空类库加一个module.txt文件,作为模块清单。
    最后,我们的模块将包括:

    • A Module Manifest
    • Models & ViewModels
    • Views
    • Controllers
    • Drivers
    • Service classes
    • Handlers
    • Shapes
    • Javascript
    • Css
    • A Migration
    • A ResourceManifest
    • Routes
    • Helpers methods

    我们将进行过程中讨论每一项。
    首先,我们将由简单的创建一个新的类库项目开始。
    在Visual Studio中,在模块的解决方案文件夹下创建一个新的类库项目,并确保该项目位于物理位置srcOrchard.WebModuels:

    image

    Orchard需要您的模块位于存在物理位置Modules目录下。
    下一步,我们将创建模块的Manifest文件,这是一个简单的文本文件,说明我们的模块,如我们的模块的名称,描述,版本号,公司网址等
    让我们的开始给Module.txt输入以下信息:

    复制代码

    Name: Orchard.WebShop
    AntiForgery: enabled
    Author: Sipke Schoorstra
    Website: http://skywalkersoftwaredevelopment.net
    Version: 1.0
    OrchardVersion: 1.3.10
    Description: Orchard Webshop Module Demo
    Category: Webshop

    image
    然后,我们就有了一个基本的Orchard模块,但它什么功能也没有。
    但是,这就是我们下面要作的。
    让我们确认Orchard识别了我们的模块。按Ctrl + F5启动网站。
    网站启动后,导航到管理页面。
    可以通过,敲入网址http://localhost:30320/OrchardLocal/admin直接进入管理页面,或点击网站页脚上的”Dashboard”连接进入。
    一旦进入管理页面,选择Modules,启用我们的Orchard Webshop Module:
     image

    image
    这样我们就创建了一个模块的骨架!接下来,让我们使它能做一些有用的事。
    我们要的是,使管理员可以定义各种产品:书籍,光盘,DVD光盘,手机等
    所有这些产品至少有两个共同的特点:一个单位的价格和一个SKU属性。
    在Orchard的核心,每一部分内容事实上都是由Content Parts组成。
    例如,管理员可以定义一个新的内容类型:
    Book。Book的内容类型是由它的Content Parts定义的。
    管理员可以挑选他喜欢的Content Parts(内容部分),如:BodyPart,CommentsPart,RoutePart等。
    为了Book变成一个产品,我们需要先创建一个自己的自定义Part(部分):ProductPart。

    原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-3

    翻译:瑞雪年

    http://skywalkersoftwaredevelopment.net/Tags/orchard

    http://www.orchardch.com/Blog/20120425073505

  • 相关阅读:
    nginx相关
    facebook开源项目集合
    鸡汤有毒--大家多读
    曹政--互联网搜索老师傅
    将jar文件加到Maven的local repository中
    java web classpath
    java 读取excel内容转为JSONArray
    (.DS_Store)避免多人提交代码到GitHub上起冲突
    mvn dependency:tree
    Java Web乱码分析及解决方案
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3365257.html
Copyright © 2011-2022 走看看