摘要:分页功能应该说是web开发中最基本的功能了,常规的做法是通过查询sql语句进行分页数据显示。但在umbraco中却不是这样子的。而且通过xpath中的postion来定位。如下代码 ]> 0 previous next 简单说明count($currentPage/node)就是计算根节点下以node开头的childNode的个数position()指的是当前节点的位置,即从1开始的数值
阅读全文
11 2013 档案
摘要:Data Types是在建立document type时需要用到的,系统自带了很多用于开发的类型,如常用的下拉列表dropdown, textbox, radiobox, checkbox以及上传,html编辑器等等。但是这些往往还并不能满足我们的需要。例如dropdown来源于某一数据库中的表时,显然系统不能帮助我们解决这些,那怎么办呢?umbraco不会让我们办法的,在创建一个新的Data Type时,Render control选择如图这样就可以开发自己的控件了在vs里创建一个web应用程序,新建web用户控件在ascx里放一个dropdown控件,并命名为ddlUsercs文件里我们需
阅读全文
摘要:继续从上面的Data Types的自定义控件说起。前面用到了自定义控件的数据绑定,虽然这使得我们可以调用外部数据了,但这似乎还比较死板,如果再调用其他数据,还得再创建一个控件,那样的话就会出现类似的功能性控件,复用率不高,而且维护起来也不方便,其实有更好的方法实现,看下面的代码.ascx file: .ascx.cs file (code behind) 1 using System; 2 using System.Data; 3 using System.Web; 4 using System.Web.UI.WebControls; 5 using umbraco.cms.busin...
阅读全文
摘要:上一篇介绍了在定义Document Type中的属性时用到的Data Type,当使用dropdown list如何调用外部数据源,可以根据提供的数据连接字符串,sql语句就能实现你想要显示的数据。其实还可以对其有一些扩展。例如,数据库连接字符串可以定义在配置文件中,这样的话维护起来变得更方便,而不需要重新修改一下Data Type,如果你的很多Data Type都用到了同一个数据源,修改起来岂不是很烦锁。如何在创建Data Type的时候,在配置信息里选择数据源,这需要编写一些代码。 1 public class ConnectionStringPicker : DataEditorSett
阅读全文
摘要:继续探讨Data Type。如果你创建过Data Type,你就会知道创建一个新的Data Type都需要指定一个Render control,这有点类似开始C#时用到的继承。那么如何创建我们自己的Render control呢?其实也很简单,将前一篇的demo略加改造就可以了 1 public class ConnectionStringDataType : AbstractDataEditor 2 { 3 [DataEditorSetting("Connectionstring")] 4 public String ConnectionString { get; set
阅读全文
摘要:当你在umbraco开发xslt时也可以调用C#里的方法,具体方法参考如下点击第二个按钮点击右侧的"Get Extensions"系统自带了工具类,里面有很多常用也很实用的方法,如要想获取友好的url,可以根据content的nodeId方法获取umbraco.library:NiceUrl(Int32 nodeID)我们也可以将自己的工具类加入其中显示在网站根目录下打开config文件夹,找到xslExtensions.config文件,打开,加入代码,如下 在xslt文件中加入这样就可以使用了
阅读全文
摘要:XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensiblestylesheetlanguage)规范的一部分。具体可参考http://www.w3school.com.cn/xsl/umbraco为什么会用到xsl?通过查看数据就会明白,当发布一个content时数据库就会生成一条记录,请查看cmsContentXml表,很明显每条记录都是xml的node节点。节点里的子节点名称我们会发
阅读全文
摘要:macro在umbraco中是一个核心的应用,它是模板页中用于动态加载内容的标签(模板指令),宏可以是基于XSLT文件创建,亦可以是基于ASP.NET用户控件创建在develop下的Macros中创建一个Macro文件,如图很简单,几乎没有我们需要开发的地方。"Use XSLT file" 是此宏使用xslt文件,点此右侧的下拉菜单会列出所有创建的xlst文件"or .NET User Control" 你也可以使用web用户控件,完全可以不依赖于任何umbraco里的代码,是不是很酷"or .NET Custom Control"
阅读全文
摘要:虽然我们不能像做数据库设计那样建立主外键关系。但我们建立xml里父子关系,父子关系其实是指是否允许在一个页面(如频道,分类,栏目等)下创建子页面,这就相当于建立站点的树状结构,对于筛选数据会有很大的作用。如何建立这一关系呢?让我们回到document type。打开任一文档类型,点击此选项卡,如图选择你想要成为此document子节点的类型,保存。再回到Content,创建一个页面,在Choose Document Type:中就会出现多个类型,如图这样就可以生成相对应的父子关系了。
阅读全文
摘要:我想此图就能说明一切了,不需要再废话了
阅读全文
摘要:主要包括以下几个部分Umbraco.businesslogic(基础)Umbraco.cms (核心)Umbraco.controls(控件)Umbraco.datalayer(数据)Umbraco.editorControls(扩展控件的基类)Umbraco.interfaces(接口)Umbraco.presentations(展现)Umbraco.providers源码可以去官网下载http://umbraco.com/如果需要二次扩展开发的话,都需要用到这些。
阅读全文
摘要:1. 命名规则1.1. 文档类型(DocumentType)命名规则图 1. Document Type命名示例名称(Name) 采用帕斯卡命名法如:TextPage别名(Alias) 采用驼峰命名法如:textPage1.2. Tab命名规则图2. Tab命名示例名称(Name) 采用英文字母全称,首字母大写如:Meta,Content,Generic properties排序(Sort order) 需要用户输入的内容性必填信息排序优先,设置性、SEO类属性靠后如:Content - 1, Settings – 2, Meta - 31.3. 属性(Property)命名规则图3. Pro
阅读全文
摘要:如在页面上显示Helloword.设计:在umbraco里,最基础的一个概念是文档类型(document type),每个文档其实可以看成一个页面类型。比如我们要创建的两个页面,每个页面都需要显示自己的内容,也就是有一个属性来定义要显示的内容。他只管内容,不管你要怎么显示,具体显示样式在template和css里面定义。创建好了document type之后,就可以创建具体的页面了,在这个页面里面可以编辑属性的内容。然后保存,发布,这个页面就完成了。实现:1. 创建document type(可以同时创建对应的template)进入管理页面后,点击左下角的Settings右击Document
阅读全文
摘要:登录到umbraco管理界面后,发现其后台管理页很简洁首页看到左侧部分是一个Content和Sections,右侧是管理区域介绍各个Sections代表的含义:"Content"故名思义就是指的内容(一个页面),但不仅仅是内容,也可以是分类等等,以后会有介绍"Media"指的是文件,图片,相册及视频等等"Settings"用来创建模板,内容模型等功能"Developer"用于创建宏,模型中的数据类型,站点数据的查找,显示等功能"Users"用于管理umbraco的管理员,有角色,权限功能设置&q
阅读全文
摘要:如何创建一个页面,很简单。进入settings,首先右键点击“Document Types”,在出现的菜单点击"Create",在弹出的窗口中Master Document Type: 选择noneName: 可以随便输入一个名称,最好是英文Create matching template: 选中PS:这样就会在创建一个内容模型的同时创建一个匹配的模板创建完之后会在右侧区域出现编辑页面,会有4个选项卡,我们先关注其中的一项"Generic properties"点击"Click here to add a new property"会
阅读全文
摘要:本人虽已不做网站好几年,但这一技能至今也未能抛弃。如今要让我去做一个企业级产品介绍网站,我会很头疼,很痛苦,想的简单或想的复杂都是一件不讨好的事情。任何这类网站都想快速开发,不管是节约时间,节约成本。任何一个开发人员都想早点甩掉他,时间用的越久越烦躁。国内有很多优秀的CMS软件,但大多都偏向于新闻内容管理系统,对于一般企业级应用有点庞大,你想进行二次开发也不是一件容易的事情,开源的产品相关文档又不足。一次偶然的机会我接触了Umbraco CMS。这是一款国外的软件,中文资料不是很多,但相关资源还是不少的。如果你还在很苦逼的做小企业网站,Umbraco很适合你。看看他是如何简单?首先当然是要部一
阅读全文