Orchard part8
http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-8
定义内容类型 Customer
1.创建CustomerPartRecord
2.创建CustomerPart
创建AddressPart
3.创建AddressPartRecord
4.创建AddressPart
5.通过Migrations类中创建表CustomerPartRecord、AddressPartRecord添加默认字段
当你创建一个新的内容类型,UserPart,不要附加CommonPart。否则会导致 StackOverflowException当你登录新用户类型。这是因为每当果园新闻内容项,它调用所 有内容处理程序,包括CommonPartHandler。CommonPartHandler将尝试分配当 前loggedin用户,但在这样做,它会加载该用户。加载,用户会再次调用 CommonPartHandler,进而将调用AuthenticationService当前用户,等等。
6.创建CustomerHandler、AddressHandler(Handler的功能作用?数据驱动)
7.创建 CustomerPartDriver、AddressPartDriver(Driver的功能作用?创建形状)
8.创建编辑呈现模版Customer.cshtml、Address.cshtml
9.向Placement.info中添加位置信息
创建用户自己注册/登录 功能描述:首先询问客户是否已经拥有帐号,或者想重新创建个新的帐号,所以我们创建一个控制器CheckoutController 并添加action SignupOrLogin
1.创建CheckoutController,添加名称为SignupOrLogin的action
我们返回一个新的ShapeResult保存一个形状称为Checkout_SignupOrLogin(请注意,我们使用IOrchardServices的新属性;它只是一个IShapeFactory)让我们为它创建一个模板视图文件夹:
using System.Web.Mvc;
using Orchard;
using Orchard.Localization;
using Orchard.Mvc;
using Orchard.Themes; namespace Skywalker.Webshop.Controllers
{
public class CheckoutController : Controller
{
private readonly IOrchardServices _services;
private Localizer T { get; set; } public CheckoutController(IOrchardServices services)
{
_services = services;
} [Themed]
public ActionResult SignupOrLogin() { return new ShapeResult(this, _services.New.Checkout_SignupOrLogin());
}
}
}
The Signup screen
Orchard part8的更多相关文章
- [翻译]Orchard如何工作
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...
- Orchard 模块开发学习笔记 (1)
创建模块 首先,打开Bin目录下的Orchard.exe 等到出现orchard>后, 看看命令列表中是否存在 codegen module 如果不存在,则需要先执行:feature enabl ...
- Orchard教程索引页
Orchard官方教程(译)索引 链接标注 原文 则表示未译,其他带有中文标题的表示译文内容. 入门 安装Orchard--Installing Orchard 通过zip包手动安装Orchard-- ...
- 一个基于Orchard的开源CRM --coevery简介
Coevery是开源的.NET Web平台项目,力争打造一个开放而鲁棒的CRM系统,采用Orchard架构,并使用AngularJS改善页面体验.作为一个后发优势的CRM 产品,Coevery 具有一 ...
- 微软CMS项目 Orchard 所用到的开源项目
研发了Orchard一年左右了,时常遇到瓶颈,总觉得力不从心,其实并不是基础不够,关键还是概念性的东西太多,一会儿这个概念名词,一会那个,关于Orchard的技术文档也的确很少,每次看起来总是焦头烂额 ...
- Orchard 微软CMS项目介绍
我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非 ...
- Orchard中如何配置远端发布
Orchard中默认安装是有Blog功能的.下面介绍如何配置Remote Blog Publishing功能,使用Windows Live Writer客户端发布博客. 一,开启Remote Blog ...
- [译]:Orchard入门——使用标签管理内容
原文链接:Organizing Content Using Tags 在Orchard中,内容项可以使用标签来分类,同时,通过格式为 ~/tags/tag-name 的url可以直接查看包含对应标签关 ...
- [译]:Orchard入门——部件管理
原文链接:Managing Widgets 在Orchard中,部件是可以加入到当前当前主题任何位置或区域(如侧栏sidebar或底部区域footer)的UI块(如:HTML)或代码部分(如:内容部分 ...
随机推荐
- 使用 CSS 去掉 iPhone 网页上按钮的超大圆角以及文本框圆角默认样式
使用 iPhone 上的浏览器去浏览网页的时候,按钮总是显示超大圆角且颜色由上而下渐变的样式,显得超级恶心,而且文本框也会有一定的圆角,但是我们自己定义 border-radius 也没有效果,经过搜 ...
- CSS样式表 选择器
1.内联样式表 和HTML联合显示,控制精确,但是可重用性差,冗余较多. 例:<p style="font-size:14px;">内联样式表</p> &l ...
- 关于GreenOdoo的一个Bug
动态创建字段的时候,虽然字段已经创建,但是显示的时候会报没有新创建的字段错误: 但是原版是没有任何问题的,记录一下.
- JAVA List<> 合并去重
List<A>和List<B>,A/B中均没有重复的,现在保证A/B合并为C,且C中没有重复的. 参考http://blog.csdn.net/secondjanuary/ar ...
- 行业集中度(Concentration Ratio)
行业集中度是决定市场结构最基本.最重要的因素,集中体现了市场的竞争和垄断程度,经常使用的集中度计量指标有:行业集中率(CRn指数).赫尔芬达尔—赫希曼指数(Herfindahl-HirschmanIn ...
- SSH框架中 Spring设置定时器 Quartz
一,首先下载quartz-1.6.0.jar架包,到lib目录下 二,写你自己定时器业务方法 package com.lbnet.lzx.timing; import org.quartz.JobEx ...
- JavaScript 几种简单的table切换
方法一:for循环+if判断当前点击与自定义数组是否匹配 <!DOCTYPE html> <html lang="en"> <head> < ...
- CentOS 安装
选择选择启动介质 Install or upgrade an existing system: 安装或升级现有的系统 install system with basic video driver: 安 ...
- 面试之servlet、过滤器、监听器
servlet.过滤器.监听器servlet是Java中WEB请求和响应的容器servlet的运行需要在类似tomcat容器中,一个 Web 应用对应一个 Context 容器,也就是 Servlet ...
- Mariadb 10.1 joiner节点加入报错WSREP: Failed to prepare for incremental state transfer
Mariadb 10.1 galera cluster 集群joiner 节点加入集群 会出现这种报错,导致mysql一直点点点,这里我贴出报错.2016年04月19日13:34:58 2016-04 ...