DNN使用及思考
对DNN的使用经验(包括核心模块的使用教程)及其对DNN在国内运用的一些零碎思考,让DNN能够真正的火起来
如何定制安装dnn,如何修改dnn配置文件以达到我们需求,如何预安装admin菜单及其相关权限等等,我想这些都是部署dnn所必须考虑的问题,在此我还推荐一篇文章详细说明如何定制自己的dnn安装过程...
Read the rest of entry »
在前边有两篇文章提起过如何修改dnn的某些控件以达到客户的需求,对此我似乎还意犹未尽,故此再贡献一下自己曾经改造的一个实例,希望大家对dnn有更深入的了解及其研究 ^_^
Read the rest of entry »
在前边一篇文章里简单说明了如何利用labelControl达到dnn的物尽其用, 如果感兴趣的话, 不妨看看,在此我继续上次的话题,稍微深入的了解一下UrlControl.我想做模块开发者都比较熟悉这一控件吧, 在上传文件(比如图象)或链接页面(外部或本站点页面)都可以直接使用这一控件, 可节省很多代码量及其工作量。今儿我就不在详细说明如何使用这一控件, 而是主要专注如何修改urlControl以达到我们的需要。
Read the rest of entry »
只要你曾经使用过dnn或对此进行二次开发,也许是模块开发,也许是皮肤设计,也是修改核心等等, 你都会把发现其实dnn本身是有很多资源我们可以物尽所用的...
Read the rest of entry »
好久没写博客了,今天就此先推荐几篇文章算是自己的一些记录吧
1) 记得之前写过一篇如何定制自己的登陆或注册页面, 现在国外有一篇类似的文章,作者对此讲解得比较详细,如果需要深入了解的朋友,不妨去看看:
2) 记得之前有人问起如何更改FCK Editor默认的字体或样式, 你不妨看看这篇文章. 作者对此列举比较详细的步骤.
3) 在此强烈推荐这个工具类型模块, 它在开发及其测试环境下很用处, 也就是它允许你可以任意的切换用户,比如在你开发一个需要不同权限用户所对应的功能也不一样的模块来说,这是一个很简便的测试工具.
4) 如何动态编程管理模块, 不妨看看这篇文章, 作者对此详细描述如何利用DNN框架已有的方法来管理页面上的模块, 最后总结如下:
A)使用DotNetNuke.Entities.Modules可获取到一些辅助类,在管理模块给与你很多现成的方法(比如增加,删除,复制当前模块等等)
B)类ModuleInfo主要包含在特定页面某一个模块所有相关信息.
C)类ModuleController主要包含一些操作模块的API函数, 比如比如增加,删除,复制当前模块等等
D)你可以调用类ModuleController里边的AddModule()直接生成你所需要的任何模块.
E)你可以调用类ModuleController里边的CopyModule()复制你所需要的任何模块.
F)你可以调用类ModuleController里边的DeleteTabModule()删除某一页面存在的模块.
G)你可以调用类ModuleController里边的DeleteAllModules()删除所有页面存在的模块.

列举一些可能我们在开发DNN模块中需要的Utility,比如获取文件的绝对路径等等,有时我们在开发模块的过程中,不妨多去DNN核心代码里边查看,也许你想实现的方法本来DNN已径实现了,那就没有必要自己再重写一遍了,毕竟我们的项目都是在DNN核心架构上开发的,尽量利用原有的代码总是最佳捷径,推荐大家去看看...
Read the rest of entry »
DNN模块开发中,如果需要应用asp.net Ajax的话,你总得小心翼翼,比如在模块设置,web.config,再比如你是否还需要DNN默认自带的ClientAPI呢,请看DNN模块开发应用Ajax之Utility,里边会有一些技巧及其经验分享...
Read the rest of entry »
自从DNN 4.4版本开始, DNN主要的重心转移到性能和优化方面,由此引入了一系列的优化措施和功能的改进, 如今的DNN已是今非昔比。而在跟Web标准的靠拢方面,DNN也做出了一定的努力,比如这篇文章即将提到doctype的概念, 在文章中将详细说明DNN中doctype的用途及其优势,以此对应的优化等等。
Read the rest of entry »
是的,DNN是通过外部样式表来规划页面布局和交互界面设计的,其途径就是把所有样式文件拆分到不同的,具体的样式单(比如skin.css,portal.css),而在页面的加载时是按照一定的优先级顺序来界定的,从而达到后一样式表能够覆盖前一样式的作用,实现我们所熟悉的CSS样式继承关系。其优先级排列如下(靠后者可覆盖前者的样式):
1) Modules – 模块控件样式,一般定义为module.css,可选项。
2) Default – 默认网站主机样式(default.css)
3) Skin – 皮肤样式,可取名为skin.css 或 skinfilename.css
4) Container –容器皮肤样式,可取名为container.css 或 containerfilename.css.
5) Portal –自定义网站管理级别的样式,这是最后一级的样式定义,一般为空定义(portal.css)
具体对这些样式的解析请查看我上一篇文章,而以下相关链接则是解析了一下如何在DNN合适使用CSS样式,在哪些地方是最安全的(升级时不受影响等),哪些地方是最有效的等的运用,有兴趣者不妨看看。
相关链接:
同时在此推荐一本DNN Skin-Design参考手册,它主要介绍了skin的制作及其所有skin占位符的解析和用户,其中包括SolpartMenu的所有属性设置的参考,是一本不可多得的skin资源手册,如果你想设计自己的skin,如果你想把自己的网站绚起来,那么你不妨拿着这本参考手册照猫画虎一般,最终你会发现其实DNN Skin是如此简单…. Enjoy!
下载地址
在此我简单的列举一些关于DNN最常见的FAQs(或关于模块开发,或关于皮肤制作,或关于DNN使用等等),我会不断增加最新的FAQs资源信息,也希望大家可以添加自己在开发或使用DNN过程碰到一些问题的解决方案.
Read the rest of entry »
我想大家都知道DNN模块标题是在模块设置里边编辑的,并且只有文本框(TextBox)的编辑,而不具有富文本的编辑功能,但有时我们可能有标题有不同效果变化的需求,比如想把标题有两种字体的显示(比如标题加简要的附加说明,而附加说明需要不同字体或大小),或需要添加一些Icon性质的小图片等等.在此我提供一种可替代的解决方法:也就是你可以在TextBox里边直接添加HTML标签设置,比如:

最终会显示如下的效果:

在此简单解析DNN在国内的现状和发展前景及其DNN本身存在的弊端和一些缺陷, 如果你正在考虑是否采用DNN作为开发或产品的平台, 那你在作决定之前不妨先看看这篇文章, 但愿可以帮助你一些.
Read the rest of entry »