38
Umbraco —The Friendly CMS

Umbraco 培训讲义

Embed Size (px)

Citation preview

Page 1: Umbraco   培训讲义

Umbraco—The Friendly CMS

Page 2: Umbraco   培训讲义

Chapter 1. - 关于Umbraco

Umbraco是一个简单,灵活,界面友好的ASP.NET 内容管理系统。它能够支持市面上任一浏览器甚至可以用Microsoft Word 来编辑(当然,也可以通过任何blog客户端发布, 如Windows Live Writer)。它的代码完全支持WEB标准,开发人员能够将任一基于.NET控制的程序整合到Umbraco中。

Page 3: Umbraco   培训讲义

1.1. 编辑者的最爱 - Editors Love

• 漂亮, 易于使用的界面

• 集成所见即所得编辑器

• 支持在Microsoft Word里编辑

• 版本管理功能和定时发布

Page 4: Umbraco   培训讲义

1.2. 开发者的最爱 – Developers Love

• 支持自定义.NET控件

• 文档化的API• 可以使用任一.NET语言如: c# 或VB.NET• 完全开放源码

Page 5: Umbraco   培训讲义

1.3. 设计者的最爱 – Designers Love

• 没有限制的设计

• 超级简单的模板引擎

• 完全支持WEB标准

• 完美支持易用性标准

Page 6: Umbraco   培训讲义

Chapter 2 – System Overview

2010/5/23 http://www.umbracochina.com

Page 7: Umbraco   培训讲义

2.1. Content (内容管理)

对站内文章,产品,相册等内容统一管理的Section

Page 8: Umbraco   培训讲义

2.2. Media

Page 9: Umbraco   培训讲义

2.3. 用户Users

Users即为系统管理用户, 默认安装有3种角色writer, editor, translator

Page 10: Umbraco   培训讲义

2.4 Setting

• Style Sheets • Template – ASP.NET 2.0 Master Pages格式

• Scripts• Language• Dictionary• Media Types• Document Types – 定义所有的文档类型

Page 11: Umbraco   培训讲义

2.5. Developer

• Cache Browser• Data Types• Macros• Packages• Python Files• XSLT Files• …

Page 12: Umbraco   培训讲义

2.6. Members

Member Type, Member Groups, Members

Page 13: Umbraco   培训讲义

Chapter 3 Quick Tips

Page 14: Umbraco   培训讲义

3.0. Installation

• Install Umbraco • Install Creative Website Starter 2.0.2

Page 15: Umbraco   培训讲义

3.1. 内容发布

• 内容的发布

• 工作流支持

Page 16: Umbraco   培训讲义

3.3. 理解文档 Document

• Document是Umbraco CMS中最核心的功能之一, 对最终用户而言,主要内容的展现都是通过Document来表达的

• 注意: “Document ” 并不一定表示的是一篇具体的“文档”,也可以表达“分类”或“目录”,可以通过选择不同的Icon 和Thumbnail来直观的展示文档类型(对管理员可见)

Page 17: Umbraco   培训讲义

3.3.1. 新建文档类型 Document Type

• 以新建Products 类型为例,步骤– 1. 右击 “Document Type” – 2. 点击 “Create” – 3. 输入文档类型名称 “Products” – 4. 创建 “Tabs”– 5. 创建属性

– 6. 修改现有文档类型“Home”允许 “Products”作为其子节点

– 7. 回到内容管理(section)– 8. 其他:为文档指定多个模板

Page 18: Umbraco   培训讲义
Page 19: Umbraco   培训讲义
Page 20: Umbraco   培训讲义

3.3.2. 以编程方式控制Document

• 获取当前文档Document currentDocument = new

Document(Convert.ToInt32(UmbracoContext.Current.PageId));

• 获取文档的某个属性currentDocument.getProperty(“title”).Value.ToString();

Page 21: Umbraco   培训讲义

3.4. 理解宏 Macro

宏(Macro)是模板页中用于动态加载内容的标签(模板指令),宏可以是基于XSLT文件创建,亦可以是基于ASP.NET用户控件创建,对于喜欢Python的朋友,甚至可以使用python来创建

Page 22: Umbraco   培训讲义

3.4.1. 使用XSLT文件

• 创建一个基于XSLT的宏,导航为例,步骤:

– 管理员身份进入Developers section– 右击XSLT Files, 选择 create – 选择参考模板,并制定文件名称

– 修改xslt文件内容

• 修改模板文件,插入宏

Page 23: Umbraco   培训讲义

3.4.2. 使用.NET用户控件

– 创建.NET项目

– 添加Umbraco 相关DLL引用

– 添加用户控件,并实现相关功能

– 编译后将DLL拷贝至网站bin目录, 拷贝ASCX至usercontrols目录下

– 创建一个新的Macro并选择刚刚新建的ascx文件

Page 24: Umbraco   培训讲义

3.4.3. 调试网站 Debugger

• 通过加载书签,改变URL参数的形式来打开调试信息(注意:需要在web.config文件中打开调试支持,umbraco安装默认是打开调试

的,对于生产环境的,建议关闭调试,不然xslt文件全部可以被下载)

• 书签地址

– http://www.umbracochina.com/content/umbraco-debugging-made-easy

Page 25: Umbraco   培训讲义

3.5. 模板的使用 Template• 模板的创建

– 管理员身份->Settings->Templates– 右击Templates,点击Create– 设定名称Name,别名Alias,选择Master Page– 设定模板内

• 插入内容属性(定义于Document中)• 插入字典项• 插入宏• ContentPlaceHolder

• 使用:结合相关文档类型

Page 26: Umbraco   培训讲义

3.6. 什么是Media

跟Document非常类似 , 是Umbraco CMS中基本对象之一

Page 27: Umbraco   培训讲义

3.6.1.默认包含3类

• Folder• Image• File

Page 28: Umbraco   培训讲义

3.6.2.扩展Media Type

• 步骤:

– 选择 Settings section – 右击 Media Type– 点击Create

Page 29: Umbraco   培训讲义

3.7. 系统用户 Users

• 系统用户管理 Users• 作为CMS内容管理员默认提供3种类型,右击”User Types”可以扩充

– Writer– Editor– Translator

• 权限控制: 可通过UserPermissons控制不同角色权限

Page 30: Umbraco   培训讲义

3.8. 系统成员 Members

• Members是Umbraco系统中又一重要对象,其操作方式跟Document相似

Page 31: Umbraco   培训讲义

3.8.1. 新建成员类型

• 步骤

– Members– Member Types– 点击Create– 设置基本信息 Info– 设置Tabs(可选)– 设置基本属性 Genric Properties(可选)

Page 32: Umbraco   培训讲义

3.8.2 编程方式操作Members

• 依赖的DLL– Businesslogic.dll– Cms.dll

• 代码片段(略)– 请参见附件中文档

Page 33: Umbraco   培训讲义

3.9. 使用事件 Umbraco Event• Umbraco 4后中包含一个ApplicationBase 类,通过继承该

类,可以方便的最终我们关心的事件,比如文档的发布,修改,用户的注册等事件

Public class EventTracker:umbraco.BusinessLogic.ApplicationBase{

Public EventTracker(){

Document.BeforePublish += new Document.PublishEventHandler(Document_BeforePublish);

}}

Page 34: Umbraco   培训讲义

3.10. 使用自定义数据表

• 可以参考Ucomment包(一个开源的blog评论模块)实现

• 通过SqlHelper类,用DataLayerHelper.CreateSqlHelper来创建,umbraco.GlobalSettings.DbDSN返回的是默认的链接字符串

Page 35: Umbraco   培训讲义

Chapter 4 – 附录

Page 36: Umbraco   培训讲义

4.1. 附录一项目结构

• Umbraco.businesslogic (基础)• Umbraco.cms (核心)• Umbraco.controls• Umbraco.datalayer(数据)• Umbraco.editorControls• Umbraco.interfaces• Umbraco.presentations(展现)• Umbraco.providers• Umbraco.standardFormhandlers• Umbraco.webservices (接口)

Page 38: Umbraco   培训讲义

5. 联系我们 Contact us

Tim Lai• Mobile: +86.15917487355• Msn: [email protected]• Skype: umbracochina• QQ: 121432147