young.han

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年11月11日

摘要: Data Types是在建立document type时需要用到的,系统自带了很多用于开发的类型,如常用的下拉列表dropdown, textbox, radiobox, checkbox以及上传,html编辑器等等。但是这些往往还并不能满足我们的需要。例如dropdown来源于某一数据库中的表时,显然系统不能帮助我们解决这些,那怎么办呢?umbraco不会让我们办法的,在创建一个新的Data Type时,Render control选择如图这样就可以开发自己的控件了在vs里创建一个web应用程序,新建web用户控件在ascx里放一个dropdown控件,并命名为ddlUsercs文件里我们需 阅读全文
posted @ 2013-11-11 11:57 young.han 阅读(423) 评论(0) 推荐(0) 编辑

摘要: 继续从上面的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... 阅读全文
posted @ 2013-11-11 11:57 young.han 阅读(257) 评论(0) 推荐(0) 编辑

摘要: 上一篇介绍了在定义Document Type中的属性时用到的Data Type,当使用dropdown list如何调用外部数据源,可以根据提供的数据连接字符串,sql语句就能实现你想要显示的数据。其实还可以对其有一些扩展。例如,数据库连接字符串可以定义在配置文件中,这样的话维护起来变得更方便,而不需要重新修改一下Data Type,如果你的很多Data Type都用到了同一个数据源,修改起来岂不是很烦锁。如何在创建Data Type的时候,在配置信息里选择数据源,这需要编写一些代码。 1 public class ConnectionStringPicker : DataEditorSett 阅读全文
posted @ 2013-11-11 11:57 young.han 阅读(300) 评论(0) 推荐(0) 编辑

摘要: 当你在umbraco开发xslt时也可以调用C#里的方法,具体方法参考如下点击第二个按钮点击右侧的"Get Extensions"系统自带了工具类,里面有很多常用也很实用的方法,如要想获取友好的url,可以根据content的nodeId方法获取umbraco.library:NiceUrl(Int32 nodeID)我们也可以将自己的工具类加入其中显示在网站根目录下打开config文件夹,找到xslExtensions.config文件,打开,加入代码,如下 在xslt文件中加入这样就可以使用了 阅读全文
posted @ 2013-11-11 11:57 young.han 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 继续探讨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 阅读全文
posted @ 2013-11-11 11:57 young.han 阅读(146) 评论(0) 推荐(0) 编辑

摘要: 主要包括以下几个部分Umbraco.businesslogic(基础)Umbraco.cms (核心)Umbraco.controls(控件)Umbraco.datalayer(数据)Umbraco.editorControls(扩展控件的基类)Umbraco.interfaces(接口)Umbraco.presentations(展现)Umbraco.providers源码可以去官网下载http://umbraco.com/如果需要二次扩展开发的话,都需要用到这些。 阅读全文
posted @ 2013-11-11 11:56 young.han 阅读(343) 评论(0) 推荐(0) 编辑

摘要: 我想此图就能说明一切了,不需要再废话了 阅读全文
posted @ 2013-11-11 11:56 young.han 阅读(343) 评论(0) 推荐(0) 编辑

摘要: 虽然我们不能像做数据库设计那样建立主外键关系。但我们建立xml里父子关系,父子关系其实是指是否允许在一个页面(如频道,分类,栏目等)下创建子页面,这就相当于建立站点的树状结构,对于筛选数据会有很大的作用。如何建立这一关系呢?让我们回到document type。打开任一文档类型,点击此选项卡,如图选择你想要成为此document子节点的类型,保存。再回到Content,创建一个页面,在Choose Document Type:中就会出现多个类型,如图这样就可以生成相对应的父子关系了。 阅读全文
posted @ 2013-11-11 11:56 young.han 阅读(300) 评论(0) 推荐(0) 编辑

摘要: macro在umbraco中是一个核心的应用,它是模板页中用于动态加载内容的标签(模板指令),宏可以是基于XSLT文件创建,亦可以是基于ASP.NET用户控件创建在develop下的Macros中创建一个Macro文件,如图很简单,几乎没有我们需要开发的地方。"Use XSLT file" 是此宏使用xslt文件,点此右侧的下拉菜单会列出所有创建的xlst文件"or .NET User Control" 你也可以使用web用户控件,完全可以不依赖于任何umbraco里的代码,是不是很酷"or .NET Custom Control" 阅读全文
posted @ 2013-11-11 11:56 young.han 阅读(351) 评论(0) 推荐(0) 编辑

摘要: XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensiblestylesheetlanguage)规范的一部分。具体可参考http://www.w3school.com.cn/xsl/umbraco为什么会用到xsl?通过查看数据就会明白,当发布一个content时数据库就会生成一条记录,请查看cmsContentXml表,很明显每条记录都是xml的node节点。节点里的子节点名称我们会发 阅读全文
posted @ 2013-11-11 11:56 young.han 阅读(286) 评论(0) 推荐(0) 编辑