DNN常见问题

蓟清野
2023-12-01

问题4:DNN容器是什么?
回答:简单来说,DNN容器就是DNN模块的皮肤。 

 

 

应用部分:

问题1:DNN皮肤是什么?
回答:DNN皮肤,简单来说,就是网站的外观,通过皮肤技术,你可以轻而易举地为你的网站更换外观。皮肤的引入,让你可以无需具备美工知识,也可以建立一个漂亮的站点,因为你可以到一个皮肤网站下载你喜欢的皮肤,然后加载到你的站点,如同买衣服来穿那么方便。

问题2:一个网站只能使用一个DNN皮肤吗?
回答:一个网站可以使用多个,甚至多套皮肤,每个网页都可以对应一个皮肤,这个皮肤可以是来自主机或站点的多套皮肤。

问题3:如何为每一个网页指定一个皮肤呢?
回答:以管理员身份登录,然后打开想要指定的皮肤样式的页面,点“编辑”,进入编辑状态,点“高级设定”,在“页面皮肤”中选择你需要的皮肤,然后保存,就完成设置了。

问题4:DNN容器是什么?
回答:简单来说,DNN容器就是DNN模块的皮肤。

问题5:网站的模块都只能使用同一个DNN容器吗?
回答:网站的模块可以对应一个容器,这个容器可以是来自主机或站点的多套容器。

问题6:如何为每一个模块指定一个容器呢?
回答:以管理员身份登录,然后点击相应模块的“设置”,进入设置状态,点“页面设置”,在“模块窗口”中选择你需要的容器,然后保存,就完成设置了。

开发部分:

问题1:皮肤是用HTML开发还是用ASCX开发?

回答:皮肤既可以HTML开发也用ASCX开发。根据我的观察,DNN生成皮肤的机制是这样的,先检查皮肤包里有没有HTML,如果有,对它执行转换,这个转换是把HTML和skin.XML组合,生成ASCX,如果没有,它就提取ASCX,所以最终结果是一样的。DNN实际使用的,都是ASCX。

问题2:如果采用HTML开发,皮肤包中应包含哪些文件,起什么作用?
回答:采用HTML开发,皮肤包中应包含至少一个HTML文件和skin.XML,skin.CSS,一个与HTML同名的图片文件,如果使用到图片资源,还需要包括对应的图片。
HTML文件描述各个功能标签的位置,例如:版权声明放在什么位置; skin.XML 文件声明皮肤包需要使用哪些功能标签;skin.CSS 是层叠样式表文件,定义各种样式;HTML同名的图片用于皮肤的预览。

问题3:如果采用ASCX开发,皮肤包中应包含哪些文件,起什么作用?
回答:采用ASCX开发,皮肤包中应包含至少一个ASCX文件和skin.CSS,一个与HTML同名的图片文件,如果使用到图片资源,还需要包括对应的图片。
ASCX文件声明需要使用哪些功能标签以及描述各个功能标签的位置,例如:版权声明放在什么位置; skin.XML 文件声明皮肤包需要使用哪些功能标签;skin.CSS 是层叠样式表文件,定义各种样式;ASCX同名的图片用于皮肤的预览。

问题4:如何知道各个功能标签的含义?
回答:在DNN的技术文档中,有一个专门讲皮肤开发的文档DotNetNuke Skinning Guide,它的附录B专门描述了各个功能标签的含义。

问题5:我在HTML中可以写contentpane:2吗?为什么会出错呢?
回答:可以直接把它实例化,例如写成 X1contentpane 和 X2contentpane ....Xncontentpane。

常用的DNN容器
作者:Andy 来源:原创 创建时间:2006-11-25
style="FLOAT: left" src="http://www.cnreds.com/Google.html" width="290" height="290">

以下是DNN常用的容器:

1.容器菜单控件:[SOLPARTACTIONS]
2.图标控件:[ICON]
3.模块标题控件:[TITLE] 
4.模块最大化、最小化控件:[VISIBILITY]
5.容器编辑控件:[ACTIONBUTTON:1]
6.聚合模块控件:[ACTIONBUTTON:2]
7.显示打印容器控件:[ACTIONBUTTON:3]
8.显示模块设定控件:[ACTIONBUTTON:4]
9.显示帮助控件:[ACTIONBUTTON:5]

 

 

Skinning, skin 和Container

 

Skinning本身的确切含义我定位为“皮肤机制”,然而翻译时,有的地方只是翻译为“皮肤”并不影响中文的理解。

如:《Skinning》
p3/47: The term “Skinning” refers to a software architecture which provides you with a manageable way to separate application logic and content from its presentation.
译为:术语“皮肤机制”是指一种软件架构:该架构从设计上把应用程序的界面从它的逻辑和内容中分离。

很明显,“皮肤”不能是一种架构。

p4/47中:The term “Skinning” has many different interpretations depending on the audience.
译为:术语“皮肤”不同的人会给出不同的解释。

如果,非要译成皮肤机制显得添足了。

Skin: 似乎很简单,“皮肤”。只是需要在概念上分辨一下:这个皮肤实际上指具体的皮肤,比如,皮肤文件,皮肤上传。然而,当加入另外一个概念Container时,概念有些混乱了。

先陈述一下对英文的理解,在给出我翻译的想法,以供参考:

Skin在原文中就代表了两个不同的概念,用一个层次图表示:

       Skin
        |       /
        |         /
Skin(Tab)   Container

先看第二层,从程序结构上理解,有两种不同的皮肤文件,一个是页面级,一个是模块级。页面级,在变量命名上就用Skin, 如Skin Object, Skin.xml; 模块级,则用Container, 如container.xml。

再看第一层,在文章中有一部分Skin实际上是涵盖了Skin(tab)和Container两个定义。皮肤机制很明显是包括Container的。

翻译:

如果把container翻译成容器,我是觉得非常容易误导中文读者,特别是初学者。所以综合起来,第一层Skin翻译为“皮肤”,第二层Skin译为“页面级皮肤”,Container为“模块级皮肤”。有关第二个Skin后面Tab以及为什么Container是模块级而不是容器级,会在另外一串概念中,好好理清一下。

 类似资料: