Umbraco学习2------数据类型
一、基础概念
在使用Umbraco这类CMS制作网站之前,先要搞清楚的是,和概念中网站制作的区别。
暂时忘掉所谓的ADO.NET存储、忘掉ASP.NET、忘掉多层架构什么的。
只需要关注:要显示什么、怎么显示、显示的内容。
举例来说,好比一篇新闻,首先要显示什么?(标题、发布时间、新闻内容、配图),其次是怎么显示?(标题在上,H1的字体,内容居中对齐,图片配在底部等),最后显示的内容(标题为Hello World、配图为世界地图等)。
首先建立起这个概念体系,才有助于对此类系统的使用。
1、显示什么
在Umbraco中叫Document Type,表示某个页面的类别,包含元素为Data Type,表示具体显示的元素类型,比如是图片,文字,视频还是富文本(在Sitecore中分别叫Template和Fields)。
2、怎么显示
在Umbraco中叫Template、Partial Views和Macros Views,这决定了某个页面的呈现方式,在Umbraco中已.cshtml文件的形式存在,包含主要的html代码(在Sitecore中分别叫Layout、Sublayout以及Render)。
3、显示内容
在Umbraco中叫Content,表示具体的信息内容,需要注意的,Conent必须依赖于Document Type而存在,却并不必须Templates的存在(在Sitecore中叫Items,其实这个表述不大准确,Sitecore中,任何一个元素都称之为Item)。
二、Document Type
1、创建基类"Document Type"
打开Setting标签,左键点击“Document Type”右侧的三个点,在弹出的联动菜单中选择"Create"。
在弹出的窗口中输入"Document Type"的名字,例如"BasePage",取消下面默认勾选的复选框"Create matching template",并点击"Create"按钮

之所以不选择"Create matching template",是因为我们第一步只是创建一个基类"Document Type",并不需要直接呈现,而是作为其他所有页面的父类,包含一些基础、通用的信息约定。
2、Info标签
在新创建的"Document Type"中,默认有4个Tab标签,默认显示的是Info标签,表示"Document Type"的基础信息。

Name:为刚创建的"Document Type"名称
Alias:别名,在查询时非常有用,也必须唯一
Allowed templates:由于没有创建Templates,因此目前为空,表示的是该"Document Type"可以被哪些模板引用
Default template:指定当创建当前"Document Type"对应的"Content"默认选择的模板
3、Structure标签
Structure标签主要定义"Document Type"的结构关系

Allow at root:指定当前"Document Type"对应的Content是否会显示在根节点
Enable list view:是否显示可排序及搜索菜单
Allowed chil node types:允许哪些"Document Type"对应的"Content"可以作为当前"Document Type"对应的"Content"的子节点
4、Generic propperties标签
默认的属性标签,可以把绝大多数通用的字段类型放置在这个标签内。

点击"Create new property"可以打开如上的添加属性界面。其中:
Name:属性名称
Alias:属性别名
Type:属性类型。注意,此处对应的实际上是"Developer"标签中的"Data Type"类型。具体可参考:https://our.umbraco.org/documentation/Getting-Started/Data/Data-Types/
Tab:属性归属于哪个Tab中
Mandatory:是否必填属性
Validation:正则表达式验证
5、Tabs标签
Tabs标签的作用,是给Properties标签添加数据分类。保存后,可以在"Generic properties"中看到新添加的tab。如上图。

三、应用
1、首页"Document Type" Structure Tab
如前所述,创建的只是基础类型,并不具备展示功能,实际的展示应该是由派生而出的"Document Type"所定义。下图表示的是该类型允许在根节点呈现,接受的子级为"Generic List"

2、首页"Document Type" 的"Generic properties" Tab
内容元素,只是针对于特殊的首页,增加了KV选择,名为:Main KV

当然,一个完整的网站,不可能只有上面这么一点内容。但是依据这个基础,可以不断的扩展网站,最终形成网站的主体骨架。
下一篇,要说网站的皮,Templates,不过目前还没拿到什么稿件,估计要等一段时间了吧。
Umbraco学习2------数据类型的更多相关文章
- js学习之数据类型
js学习之数据类型 基础类型:number string boolean null undefined 引用类型:object array function undefined值是派生自null值的( ...
- Go语言学习之数据类型
### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...
- python学习6—数据类型之集合与字符串格式化
python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...
- MySQL学习笔记--数据类型
一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...
- C语言基础学习基本数据类型-变量的输出与输入
变量的输出 变量如何输入输出呢?实际上,在这之前你已经使用过输出语句(printf语句)了,我们可以使用printf来执行输出. printf语句的使用方法如下: printf(格式控制字符串, 数据 ...
- C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- MySQL学习4 - 数据类型一
介绍 一.数值类型 二.浮点型 验证三种类型建表 验证三种类型的精度 三.日期类型 综合练习: 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选 ...
- python学习Day7 数据类型的转换,字符编码演变历程
一.数据类型的转换 1.1.1.字符转列表:lst1 = str.split(默认空格,也可依据指定字符分界),若无分界字符,就没法拆分,这时可以直接放进list转成列表 ----> s1 = ...
- Java之基础学习(数据类型、运算符、分支语句和循环语句)
在工作用得比较多的是shell和python编程,对于java以前也学习过,使用很少,这次借朋友推荐的java视频教程来温习下. 也是因为现在很多开源测试工具使用java编写的,学习一下更有助于测试工 ...
随机推荐
- linux系统find命令使用
find命令简介 1.find的作用 find是个使用频率比较高的命令.常常用它在系统特定目录下,查找具有某种特征的文件. 2. find命令的格式 find [-path……]-option ...
- java.util.List org.apache.struts2.components.Form.getValidators(java.lang.String) threw an exception
在使用ajax主题时出现上述错误的解决办法是将form表单中的action属性值改为*.action后就可以解决.至于为什么会这样不太明白.但是修改action的属性值以后就会出现另一个错误即 对应的 ...
- JQuery easyui (4)LinkButtion(按钮)组件
居然还有button组件 - - linkButton组件的加载方式 1,class加载 <a class='easyui-linkbtuton'>按钮<a> 2,js加载 $ ...
- jquery实现点击改变背景色,点击其他恢复原来背景色,被点击的改变背景色
实现这个功能很简单,可是之前自己不怎么熟悉jquery,感觉各种乱写.现在终于整理好了思路. html: <div class="managementPanel"> & ...
- 如何获取fragment里的控件
不能在onCreate函数中获取控件,以为fragment还没有start,你可以在onStart函数中获取: @Overrideprotected void onStart() { super.on ...
- COB (Chip On Board) 製程介紹/簡介/注意事項 I
COB (Chip On Board)在電子製造業並不是一項新鮮的技術,但最近我卻常常被問到相關的問題及資料索取.也許真的是產品越來越小了,而較進階的技術又太貴,所以又有人回過頭來考慮COB的製程. ...
- PADS无模命令总结
1.PADS2007无模命令与快捷键 <x.y>表示坐标.<s>表示文体.<n>表示数字. 1.[C]显示平面的焊盘和热焊盘(Thermal). 2.[D]显示当前 ...
- N沟道增强型MOS管双向低频开关电路
MOS-N 场效应管 双向电平转换电路 -- 适用于低频信号电平转换的简单应用 如上图所示,是 MOS-N 场效应管 双向电平转换电路.双向传输原理: 为了方便讲述,定义 3.3V 为 A 端,5.0 ...
- visual leak dector内存泄漏检测方法
http://vld.codeplex.com/ QT 内存泄露时,你们一般用什么工具检测啊 ------解决方案--------------------这篇你觉得详细么 :http://newfac ...
- Windows 8 DirectX 和Xaml UI 混合处理方案
原文 http://www.cnblogs.com/chenkai/archive/2012/11/29/2794983.html [如果不想读这么长问题描述和通用的解决方案. 可以直接skip 这段 ...