从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目

原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-3
创建Orchard.Webshop模块项目

这是从头开始编写一个新的Orchard模块的教程的第3篇。
对于本教程的概述,请参阅介绍

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中,在模块的解决方案文件夹下创建一个新的类库项目,并确保该项目位于物理位置\src\Orchard.Web\Moduels:

Orchard需要您的模块位于存在物理位置Modules目录下。
下一步,我们将创建模块的Manifest文件,这是一个简单的文本文件,说明我们的模块,如我们的模块的名称,描述,版本号,公司网址等

让我们的开始给Module.txt输入以下信息:

Name: Orchard.WebShopAntiForgery: enabledAuthor: Sipke SchoorstraWebsite: http://skywalkersoftwaredevelopment.netVersion: 1.0OrchardVersion: 1.3.10Description: Orchard Webshop Module DemoCategory: Webshop

然后,我们就有了一个基本的Orchard模块,但它什么功能也没有。
但是,这就是我们下面要作的。

让我们确认Orchard识别了我们的模块。按Ctrl + F5启动网站。
网站启动后,导航到管理页面。

可以通过,敲入网址http://localhost:30320/OrchardLocal/admin直接进入管理页面,或点击网站页脚上的”Dashboard”连接进入。
一旦进入管理页面,选择Modules,启用我们的Orchard Webshop Module:

这样我们就创建了一个模块的骨架!接下来,让我们使它能做一些有用的事。

我们要的是,使管理员可以定义各种产品:书籍,光盘,DVD光盘,手机等
所有这些产品至少有两个共同的特点:一个单位的价格和一个SKU属性。

在Orchard的核心,每一部分内容事实上都是由Content Parts组成。

例如,管理员可以定义一个新的内容类型:
Book。Book的内容类型是由它的Content Parts定义的。
管理员可以挑选他喜欢的Content Parts(内容部分),如:BodyPart,CommentsPart,RoutePart等。

为了Book变成一个产品,我们需要先创建一个自己的自定义Part(部分):ProductPart。

时间: 2024-08-02 02:39:14

从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目的相关文章

从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器

原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-6创建购物车服务和控制器 这是从头开始编写一个新的Orchard模块的教程的第6篇.对于本教程的概述,请参阅介绍. 在本篇,我们将使我们的用户可以添加商品到他们的购物车.要创建这样的功能,我们需要: 一个“添加到购物车”按钮,要被添加我们的产品目录上,将产品添加到购物车 某种购物车服务,以存储

从头开始编写一个Orchard网上商店模块(5) - 创建和渲染ProductCatalog的内容类型

原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-5创建和渲染ProductCatalog的内容类型 这是从头开始编写一个新的Orchard模块的教程的第5篇.对于本教程的概述,请参阅介绍. 为了网站的访问者能够将产品添加到他们的购物车,我们需要一个产品目录.产品目录可以是一个简单的产品清单.然而,在本教程中,我们希望主题作者能够接管渲染(r

从头开始编写一个实时嵌入式操作系统的内核(二)

一.RTOS里面的重要数据结构----链表 很多RTOS包括Linux的内核在内,内核里面都大量使用了链表这一种数据结构.内核的链表一般都是双向循环链表,这是因为双向循环链表的效率是最高的,找头节点.尾节点,直接前驱.直接后继时间复杂度都是O(1),这是使用单链表.单向循环链表或其他形式的链表是不能完成的.我们平时上课所学的链表一般都是指针域和数据域,但是如果有研究过Linux内核里面链表的人应该知道和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域.Linux内核链表在linux源

从头开始编写一个实时嵌入式操作系统的内核(一)

今年大四,在准备自己的毕业设计.因为毕设题目是一个比较复杂的多传感器监控的嵌入式系统,然后最近自己有使用一些rtos,比方说freertos和ucos,感觉比起单纯对单片机的裸机开发还是有很多好玩的地方.特别喜欢这种抢占式和时间片轮询这两种内核调度模式,所以最近在开始想自己尝试去写一个实时的操作系统的内核调度,看看用自己浅薄的技术,自己去实现会怎么弄,纯粹为了好玩哈哈哈.花了大概几天左右的时间,现在已完成了一个时间片轮询和优先级抢占的实时任务调度内核了,可能有些地方还有些bug,后面有空再慢慢修

手把手教你编写一个简单的PHP模块形态的后门

看到Freebuf 小编发表的用这个隐藏于PHP模块中的rootkit,就能持久接管服务器文章,很感兴趣,苦无作者没留下PoC,自己研究一番,有了此文 0×00. 引言 PHP是一个非常流行的web server端的script语言.目前很多web应用程序都基于php语言实现.由于php是个开源软件并易于扩展,所以我们可以通过编写一个PHP模块(module 或者叫扩展 extension)来实现一个Backdoor. 本文就简单介下如何一步步编写一个简单的php 动态扩展后门. 0×01. p

MFC+WinPcap编写一个嗅探器之六(分析模块)

这一节是程序的核心,也是最复杂的地方 首先需要明白的一点是,一般对于一个有界面的程序来说,往往需要多线程.本程序中除了界面线程外,抓包需要另外创建一个新的线程.在写抓包函数之前,首先要将前面两个模块的结果返回到主对话框界面对应的类实现中,在SnifferDlg.cpp中,修改之前增加的两个模块的触发函数如下: 1 void CSnifferDlg::OnAdp() 2 { 3 // TODO: 在此添加命令处理程序代码 4 CAdpDlg adpdlg; 5 if(adpdlg.DoModal(

MFC+WinPcap编写一个嗅探器之五(过滤模块)

这一节主要介绍如何获设置捕获过滤,这里的过滤是指在捕获前过滤 设置捕获过滤主要是在CFilterDlg中完成,也就是对应之前创建的设置过滤规则对话框,如图: 首先要根据用户的选择来生成一个合法的过滤规则字符串,根据WinPcap的要求,合法的过滤规则可以是如下几种: 1) 表达式支持逻辑操作符,可以使用关键字 and.or.not对子表达式进行组合,同时支持使用小括号.2) 基于协议的过滤要使用协议限定符,协议限定符可以为ip.arp.rarp.tcp.udp等.3) 基于MAC地址的过滤要使用

MFC+WinPcap编写一个嗅探器之四(获取模块)

这一节主要介绍如何获取设备列表,比较简单 获取设备列表主要是在CAdpDlg中完成,也就是对应之前创建的选择适配器模块,如图: 当打开选择适配器对话框后,在列表视图控件中显示当前主机所有适配器及适配器的描述,当选中一个适配器时,在下方的编辑框中会显示当前选中的适配器,单击绑定会提示网卡绑定成功. 本节中代码都在AdpDlg.cpp中完成,当然变量的声明要在其对应的头文件中去做,这里就不再叙述. 首先要获取设备列表,在OnInitDialog函数中加入如下代码: 1 if (pcap_findal

c语言中如何设计和编写一个应用系统?

C程序中,如何设计和编写一个应用系统? 一. C语言文件的操作 1. 文件操作的基本方法: C语言将计算机的输入输出设备都看作是文件.例如,键盘文件.屏幕文件等. 向屏幕输出一个信息,例如"Hello"是 #include.h> int main() { printf("Hello\\n"); } 从键盘接收一个字符串然后显示是 #include.h> int main() { char a[10]; scanf("%s",&