创建HelloWorld模块

Orchard是构建在ASP.NET MVC之上,所以,请先了解一下MVC,这样,你能够更好的理解Orchard。

生成模块的结构

首先,你需要开启Code Generation特性,然后在控制台执行下面的命令:

codegen module HelloWorld

编辑Manifest文件

打开Modules文件夹->HelloWorld文件夹->module.txt文件,他是对HelloWorld文件的描述,我们将其更新如下:

name: HelloWorld

antiforgery: enabled

author: The Orchard Team

website: http://orchardproject.net

version: 0.5.0

orchardversion: 1.8.1

description: The Hello World module is greeting the world and not doing much more.

features:

HelloWorld:

Description: A very simple module.

Category: Sample

添加路由

HelloWorld模块关联到/HelloWorld这个URL路径,为了让大家明白,这个路由是怎么实现的,我们手动创建一个Routes.cs文件,录入下面的代码(一般情况下,是不需要创建的):

using System.Collections.Generic;

using System.Web.Mvc;

using System.Web.Routing;

using Orchard.Mvc.Routes;

 

namespace HelloWorld {

public class Routes : IRouteProvider {

public void GetRoutes(ICollection<RouteDescriptor> routes) {

foreach (var routeDescriptor in GetRoutes())

routes.Add(routeDescriptor);

}

 

public IEnumerable<RouteDescriptor> GetRoutes() {

return new[] {

new RouteDescriptor {

Priority = 5,

Route = new Route(

"HelloWorld", // this is the name of the page url

new RouteValueDictionary {

{"area", "HelloWorld"}, // this is the name of your module

{"controller", "Home"},

{"action", "Index"}

},

new RouteValueDictionary(),

new RouteValueDictionary {

{"area", "HelloWorld"} // this is the name of your module

},

new MvcRouteHandler())

}

};

}

}

}

创建控制器

我们在Controllers文件夹中,添加HomeController.cs文件:

using System.Web.Mvc;

using Orchard.Themes;

 

namespace HelloWorld.Controllers {

[Themed]

public class HomeController : Controller {

public ActionResult Index() {

return View("HelloWorld");

}

}

}

这个控制器,用于响应来自/HelloWorld的请求。他有一个默认的行为,Index,返回特定的视图。

注意,如果我们在控制器上面加上了Themed特性,那么,返回的视图,将使用当前主题。

创建视图

在Views文件夹下面,我们创建一个Home文件夹,然后再该文件夹中,创建HelloWorld.cshtml文件:

<h2>@T("Hello World!")</h2>

注意:Hello World字符串,包含在了T方法中,这意味着,字符串可以本地化

启用模块

在控制台,执行下面的命令(你需要先开启Code Generation特性):

feature enable HelloWorld

使用模块

在浏览器中,进入Orchard站点,进入/HelloWorld URL路径,就可以看到我们创建的页面了。

posted @ 2015-09-10 09:37  争世不悔  阅读(174)  评论(0编辑  收藏  举报