Orchard Core 动手实践1

Orchard Core 源码

https://github.com/OrchardCMS/OrchardCore

1. /src/OrchardCore.Modules 文件夹中的项目并非特定于cms项目。

2. /src/OrchardCore.Modules.Cms 文件夹中的项目特定于cms

3. 引用OrchardCore.Application.Cms.Targets.dll, 该dll会把与cms相关的类库都引进项目。

image

Theme

image
  • Theme 主题,可以看做一套模板,该套模板的所定义的所有资源及配置都在xxx.recipe.json清单中。

  • Theme->Views 定义Content Type对应的Template,负责渲染特定Content Type在页面上的输出。下图是Blog Theme中的 Content Type 模板。

image

首页模板在Admin中配置,注意约定的命名格式 Content__{Content Type}. 注意Content后紧跟双下划线

image
  • Theme->Recipe , recipe 描述了该Theme所提供的所有要素和功能。前后台界面所有内容都会定义在xxx.recipe.json中。
image

上图,issetuprecipe=true, 那么就会出现在新Tenant第一次Setup配置下拉选项中。

image

在Setup页面的时候选择好recipe,配置完成后,点击创建按钮,Setup Module来执行所选recipe.

(1)steps->themes 配置说明了在Setup界面选择Agency Recipe后,管理员后台默认使用TheAdmin主题,前端默认使用TheAgencyTheme主题。

image
image
image

(2) steps->settings 配置了用那个Controller和Action来显示ContentItem

image

(3) steps->ContentDefinition 定义站点所使用的所有ContentTypes、ContentParts。如:首页面配置

image

对应后台UI

image

小结: IRecipeStepHandler 类会执行Steps中的配置。

界面

Content Items

  • 一个Content Item 可以由多个其它Content Item 组成。

新建一个Liquid界面

image

Liquid 可以访问的Site属性可以查询官方文档。

image

Queries

SQL Queries

1. SQL Queries, 点击Modules菜单,搜索框输入queries, 确保选中SQL Queries

image

2. 创建一个新的Content Type , News Item。 并添加2个News Item Content

image

点击Create

image

选中Html Body, Title, 点击Save

image

点击Save. 接下来新建News Item Content

image
点击Publis,  接着创建下一个
image

点击Publish, 完成News Item的创建。 下面是数据库Document表中存储的json,先记下来,等会SQL Query查询语句可能用得着。

image

3. 创建SQL Query, 查询new items。

参考官方文档sql query 样例。

image

创建SQL Query

image
image
image

点击Save后,出现的界面中点击Run

image

4. 在Liquid页面中运行查询。 首先参考官方文档

image

创建Liquid页面

image

Cache

1. 参考官方文档 Dynamic Cache

image

2. 在Liquid页面中加入cache块

image

Flow Page

当Page由Widget组成,则可以控制Widget在Page中的浮动。

1. 添加一个新的Page, 添加Html、Paragraph、Image 三个Widget, 内容随便填写。

image

2. 如下图,点击浮空控制栏目的选项,在Preview页面中会更改Widget的浮动位置。

image

新建一个Widget

创建一个Widget, 内容是一条分割线。

1. 新建Content Type, 命名为Section

image

2. 新建一个Template, 命名Widget__Section. 注意:必须以Widget开头

image
image

使用Widget. New->Page页面,在Widget下拉框中,就能看到该Widget

添加Tenant

1. 如果左侧的Configuration菜单中没有Tenants菜单项,要首先去Modules下启用Tenants模块。

2. 然后选中Configuration->Tenants, 添加新Tenant ,选择Blog Recipe (后面会用到), 命名evendou, 然后在Tenants列表中点击该Tenant, 会打开Setup界面。

image
image

3. Setup完成后,会在App_Data/Sites目录出现新的Tenant站点目录,这是一个资源独立的站点。打开该站点首页https://localhost:44300/evendou. 新的管理员界面https://localhost:44300/evendou/admin 区别于默认站点的管理员界面http://localhost:44300/admin

image
image

Layer

Layer 是一种显示规则,应用在Widget上,关联该Layer的Widget只有符合该Layer规则才能在Zone中显示。

image

规则配置

image

Lucence Query

进入新的Tenant(evendou)管理员后台,Configuration->Queries有Lucence示例(RecentBlogPosts), Orchard中的所有类型的查询都以REST API的方式对外提供。

image

如果以匿名用户访问Api, 首先要设置匿名用户的权限

image

然后在浏览器中输入/api/queries/RecentBlogPosts, 即可看到查询结果。

image

试试在默认站点建的SQL Query查询(记得匿名用户权限) https://localhost:44300/api/queries/allnewsitems

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,639评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,093评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,079评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,329评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,343评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,047评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,645评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,565评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,201评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,338评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,014评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,701评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,194评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,685评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,345评论 2 358

推荐阅读更多精彩内容