随笔分类 -  Orchard

摘要:原文地址:http://yangw80.blog.163.com/blog/static/247518002201552692516908/ 在开源项目满天飞的时代,仅仅把开源项目拿来用是不够的,要适当的参与到开源项目的修改中,这对自己,对别人,都有很大意义。比如你在用项目 A 的 2.0 版本,你修改了 5 个地方并且都没有把修改贡献给项目 A,只是自己用。当项目更新到 3.0 版本的时候,你发... 阅读全文
posted @ 2015-06-27 14:04 陆敏技 阅读(1674) 评论(0) 推荐(2) 编辑
摘要:默认Orchard只有一个Layout,有的时候,我们的站点往往需要多个母版页。那么,如果要让Orchard支持多个Layout,以下是一种解决方案。 一:创建LayoutFilter using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;usin... 阅读全文
posted @ 2015-03-18 15:29 陆敏技 阅读(1493) 评论(0) 推荐(2) 编辑
摘要:一:关于前台权限1:只允许自己看到首先,我们需要确定在 Role 设置页面,用户所对应的 View Page by others 和 View all content 未被选中。备注,我们首先和得设置 Anonymous 和 Authenticated 的这两个的权限,这两项也未被选中。这样一来,我... 阅读全文
posted @ 2014-08-13 14:31 陆敏技 阅读(1546) 评论(0) 推荐(1) 编辑
摘要:COPY ORCHARD 得到 404 错误,结果翻看Logs,得到的错误是: 014-07-31 17:36:46,217 [16] Orchard.Environment.DefaultOrchardHost - (null) - A tenant could not be started: Default(null)System.UnauthorizedAccessException: 对路... 阅读全文
posted @ 2014-07-31 17:56 陆敏技 阅读(903) 评论(0) 推荐(0) 编辑
摘要:后台默认提供了 Content 的管理,但是,所有的内容类型揉杂在一起,而我们需要更深度的定制一些功能,比如,我们只想管理订单,又比如,我们需要对注册用户进行管理。本篇的内容包括: 1:自定义 admin menu; 2:使用 content query; 3:使用 paging utilities; 4:创建 list 与 edit; 一:扩展 Admin Menu 首先我们必须要实现 INa... 阅读全文
posted @ 2014-07-25 10:34 陆敏技 阅读(3409) 评论(1) 推荐(1) 编辑
摘要:在这部分,我们要完成的工作有: 1:将购物车内的商品变成真正的订单; 2:理解 父子及一对多关系; 3:写一个针对 Event Bus 的扩展点; 4:实现一个针对该扩展点的模拟的 支付服务; 一:创建订单 Views/Checkout.Summary.cshtml: @using Orchard.ContentManagement@using TMinji.Shop.Models@{ Sty... 阅读全文
posted @ 2014-07-24 10:20 陆敏技 阅读(2320) 评论(0) 推荐(0) 编辑
摘要:我们都知道 Orchard 的用户注册相当简单,现在,我们需要一个自定义的用户注册,现在,开始吧。 一:定义实体 Models/CustomerPartRecord.cs: public class CustomerPartRecord : ContentPartRecord{ public virtual string FirstName { get; set; } public virtu... 阅读全文
posted @ 2014-07-23 11:50 陆敏技 阅读(3658) 评论(0) 推荐(1) 编辑
摘要:在这一部分,我们继续完善我们的购物车,我们要做以下一些事情: 1:完成 shoppingcart.cshtml; 2:让用户可以更新数量及从购物车删除商品; 3:创建一个 widget,在上面可以看到商品数量,并且能链接到购物车; 同时,我们会接触到以下技术点: 1:熟悉 IContentManager.GetItemMetadata; 2:通过 IResourceManifestProvider... 阅读全文
posted @ 2014-07-22 16:07 陆敏技 阅读(3163) 评论(0) 推荐(1) 编辑
摘要:这里,我们需要做一些事情,这些事情意味着深度改造前台: 1:为商品增加 添加到购物车 按钮,点击后功能实现; 2:商品排序; 3:购物车预览,以及添加 结算 按钮; 4:一个显式 购物车中有*个 商品 的widget; 一:添加到购物车 按钮 修改 Views/Parts/Product.cshtml: @{ var price = (decimal)Model.Price; var sku ... 阅读全文
posted @ 2014-07-22 11:41 陆敏技 阅读(2234) 评论(0) 推荐(1) 编辑
摘要:一:分类用现有技术怎么实现? 实际就是创建 Query 和 Projection,如果不知道怎么做,参考:Orchard之在前台显式一个属于自己的列表(在这篇里,还进行了稍稍拓展),当然,基础的知道,我们可以参考 Orchard 相关文档,不难。 1.1 当前这种模式的缺点 这种模式的缺点就是,你要么查询 Book ,要么查询 DVD, 不能查询全部的 Product,这样一来,我们又要自己写... 阅读全文
posted @ 2014-07-21 18:34 陆敏技 阅读(2000) 评论(0) 推荐(1) 编辑
摘要:一:创建 Part 1:项目引用 Orchard.Framework; 2:创建 Models 文件夹; 3:在 Models 文件夹下创建类 ProductPartRecord,如下: public class ProductPartRecord : ContentPartRecord{ public virtual decimal UnitPrice { get; set; } public... 阅读全文
posted @ 2014-07-21 14:17 陆敏技 阅读(1826) 评论(3) 推荐(1) 编辑
摘要:在《http://www.cnblogs.com/luminji/p/3831281.html》中简单介绍了 Orchard 的模块开发,接下来,我们需要做个更复杂的例子,Orchard 版本的商场; 一:创建模块 可以使用 orchard 命令行的方式来创建新的模块,当然也就可以直接手工生成这样的模块。 直接在 Modules 文件夹下新建 类库项目 Tminji.Shop,当然,你得把项目路... 阅读全文
posted @ 2014-07-21 12:45 陆敏技 阅读(2267) 评论(0) 推荐(0) 编辑
摘要:一:当前现状 Orchard 并不提供筛选 Owner 的 Query,但是 Gallery 中有提供,那就是:Owner Queries。 Install 之,然后在解决方案中引入该 Project,同时,我们需要改 Target Framework 为 4.5, 1.1 问题 其 Feature 中 Owner Profile Page Query 这部分是有问题的:Missing:Con... 阅读全文
posted @ 2014-07-16 12:01 陆敏技 阅读(1471) 评论(0) 推荐(1) 编辑
摘要:一:Widget 可以理解为控件,可以直接被页面所引用。行为类似与分部页面,比如,我们可以创建一个 商品列表 Widget,然后这个 Widget 就可以被很多页面所引用。 理解 Widget 这个概念,我们不得不理解另外两个概念: 1:Layer Orchard 默认有这么几个层,Default、Authenticated、Anonymous、Disabled、TheHomepage。Layer... 阅读全文
posted @ 2014-07-15 14:22 陆敏技 阅读(1180) 评论(0) 推荐(2) 编辑
摘要:生成新模版之后(参看:Orchard之生成新模板),紧接着就是模版开发了。 一:开发必备之 Shape Tracing 到了这一步,非常依赖一个工具,当然,它也是 Orchard 项目本身的一个 Module,这个工具就是 Shape Tracing。 Shape Tracing:Displays all currently displayed shapes and some informat... 阅读全文
posted @ 2014-07-10 15:49 陆敏技 阅读(1960) 评论(3) 推荐(1) 编辑
摘要:在上一篇中,我们提到了 Migrations,这一篇稍微衍生一下。 1:Migrations 是什么 Orchard 提供了模块升级的功能,即,如果我们模块发布后,需要进行升级,我们可以通过编码来实现; 2:Migrations 的形式 public class Migrations : DataMigrationImpl{ public int Create() { return 1; } ... 阅读全文
posted @ 2014-07-09 18:08 陆敏技 阅读(1032) 评论(0) 推荐(0) 编辑
摘要:一:生成新项目 首先,要启动 Code Generation,参考《Orchard之生成新模板》。 其次,进入命令行,输入: codegen module Tminji.Requirement 这会在解决方案中生成一个新项目,如下: 二:路由匹配 在新项目中创建 Routes.CS 文件,编码如下: public class Routes : IRouteProvider { #regi... 阅读全文
posted @ 2014-07-08 13:00 陆敏技 阅读(2399) 评论(1) 推荐(2) 编辑
摘要:一:首先需要确保 List Module 的开始 即: Enable 之后,左边的列表中,多了一个 List 功能菜单。 二:为 Content type 选定 Cotainable 不再赘述。 三:创建 List 四:为 List 添加 Item 注意,一定要在 List 处添加 Item,如下: 如果我们在 New 处直接添加 Item 本身,则不会出现在列表中,如下: ... 阅读全文
posted @ 2014-07-07 12:10 陆敏技 阅读(1393) 评论(0) 推荐(2) 编辑
摘要:一:启用 Code Generation 进入后台, Modules –> Developer Enable 之。 二:生成模版 首先,进入 Orchard 命令行 在 CMD 下到达解决方案的 Web 的 Bin 目录下,打开 Orchard 命令,输入: codegen theme MyTheme /BasedOn:TheThemeMachine /CreatePro... 阅读全文
posted @ 2014-06-12 18:02 陆敏技 阅读(2362) 评论(3) 推荐(2) 编辑

Web Counter
Coupon for Contacts