首页 > 代码库 > Orchard学习笔记
Orchard学习笔记
1、下载Orchard sourcrs资源文件,同时也可以去百度下载中文包 资源地址(https://github.com/OrchardCMS/Orchard/releases/download/1.10/Orchard.Source.zip)中文包地址以及说明(http://www.cnblogs.com/zgqys1980/archive/2012/06/15/2550951.html)
2、解压好资源文件,在根目录有build.bin命令脚本文件,打开即可。此时就能打开运行
3、创建HelloWord过程。
3.1、打开Orchard命令行。Orchard命令行在Orchard.Web\bin\Orchard.exe位置。
3.2、启用了Code Generation,再Orchard命令行输入feature enable Orchard.CodeGeneration。当Orchard.CodeGeneration启用以后,就可以在命令行中来创建模块了。
codegen controller <module-name> <controller-name>
创建一个controller类
codegen datamigration <feature-name>
创建一个数据文件清单
codegen module <module-name> [/IncludeInSolution:true|false] // codegen module HelloWord
创建一个模块
codegen theme <theme-name> [/CreateProject:true|false][/IncludeInSolution:true|false][/BasedOn:<theme-name>]
创建一个皮肤
3.3、为模块添加路由Routes.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.Mvc.Routes;
using System.Web.Routing;
using System.Web.Mvc;
namespace MyCompany.HelloWorld
{
/// <summary>
/// 定义模块所用到的路由,在Orchard中定义路由需要实现IRouteProvider接口
/// </summary>
public class Routes : IRouteProvider
{
#region IRouteProvider 成员
public IEnumerable<RouteDescriptor> GetRoutes()
{
return new[]
{
new RouteDescriptor
{
Priority = 5, //优先级(作用暂不清楚,留着以后研究)
Route = new Route
(
"HelloWorld", //路由的 URL 模式。
new RouteValueDictionary //要在 URL 不包含所有参数时使用的值。默认执行HomeController中Index action。
{
{"area", "HelloWord"},
{"controller", "Home"},
{"action", "Index"}
},
new RouteValueDictionary(), //一个用于指定 URL 参数的有效值的正则表达式。
new RouteValueDictionary {{"area", "HelloWord" } }, //传递到路由处理程序但未用于确定该路由是否匹配特定 URL 模式的自定义值。这些值会传递到路由处理程序,以便用于处理请求。
new MvcRouteHandler() //处理路由请求的对象。
)
}
};
}
public void GetRoutes(ICollection<RouteDescriptor> routes)
{
foreach (var routeDescriptor in GetRoutes())
{
routes.Add(routeDescriptor);
}
}
#endregion
}
}
Orchard学习笔记