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
    }
    }

时间: 2024-10-05 11:49:15

Orchard学习笔记的相关文章

Orchard学习笔记四:启用用户注册

启用用户注册分两步: 1:用户设置中勾选“用户可在网站中创建新账户”. 2:设置电子邮件. 成功验证并保存后,登出账户,再次登录的时候就可以看到注册选项了.

Orchard学习笔记二:Orchard导航和菜单设置

1:为页面Page设置导航 点击“内容”,选择我们之前创建的首页,点击编辑. 设置如下: 这个Main Menu是导航中默认有的菜单,当然也可以新增一个. 修改完成后,我们访问首页 这里的"Main Menu“文本显示在上面有点不和谐.幸运的是我们可以通过下面的方式隐藏. 点击部件,如下图 点击Main Menu,取消勾选“选中将在前台显示标题,未选中则将会隐藏.”. 重新预览首页 我们可以通过同样的方式,新建一个About页面,并设置在Main Menu上显示. 如果想让Welcome页在Ab

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl