分享

Skin_制作属于我们自己的Skin,HTML and ASCX

 kommy 2007-09-13

DotNetNuke:制作属于我们自己的Skin,HTML and ASCX

对DotNetNuke的皮肤功能一直感到好奇,主要是要因它的皮肤只需要是html文件就可以,然后在页面上放置标志,比如[LOGIN],就是登陆的链接,整个页面就是文本+图像组成,根本就看不到任何任何控件,而且它页面也可以与xml相结合,做出更灵活的页面。前段时间对它的皮肤功能进行过研究,而且也在网上看过相关的皮肤制作的文章。
昨天心血来潮,好像没有做过美工了,虽然对美工我还是有着激情。所以决定做一个简单的皮肤,

DONNETNUKE设计由二个主要组成部分

一,皮肤版面的设计:

皮肤的版面设计是你网站的主要设计。它包括你站点的head和FOOT并且一致性的感觉。

二,容器的组合:

在一个容器上可以在里面任何位置放置任何组件,比如INCULDE HTML文本或公共组件,
DNN的容器主要是三部分组成: LeftPane”, “ContentPane” and “RightPane”,例如,

<td width="150" id=”LeftPane” runat=”Server”> </td>
<td width="470" id=”ContentPane” runat=”Server”> </td>
<td width="150" id=”RightPane” runat=”Server”> </td>


另外就是使用皮肤的对象了,在DNN默认的皮肤,主要是由:[LOGIN],[BANNER],[BREADCRUMB]等组成〔请自己查看DNN的帮助文件,Documentation/DotNetNuke Skinning.doc〕。
你可以在你的html文件中将皮肤标志嵌入到[]中间,而且你必须确保该标志是正确的。比如

<tr><td background=”mybar.jpg”>[MENU]</td></tr>

<tr><td background=”mybar.jpg” align=”right”>[COPYRIGHT]</td></tr>


另外你为该皮肤可以使用css样式,这个我就不说了,大家都会:0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www./TR/html4/loose.dtd"
>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的皮肤</title>
<style type="text/css">
<!--
body 
{
    background-image
: url(bg.gif);
    margin-left
: 0px;
    margin-top
: 0px;
}

-->
</style>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="723" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  
<tr>
    
<td width="21" background="left.gif"> </td>
    
<td width="703"><table width="703" height="108" border="0" align="center" cellpadding="0" cellspacing="0" background="head.gif" bgcolor="#FFFFFF">
      
<tr>
        
<td width="602" height="13" align="right">[USER] [LOGIN]</td></tr>
      
<tr>
        
<td> </td>
        
</tr>
    
</table></td>
    
<td width="13" background="right.gif"> </td>
  
</tr>
  
<tr>
    
<td background="left.gif"> </td>
    
<td bgcolor="#dcdcdc"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      
<tr>
        
<td width="18%" height="26" background="menu.gif"> </td>
        
<td width="82%" background="menu.gif">[MENU]</td>
      
</tr>
    
</table>      
      
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
        
<tr>
          
<td><img src="b1.gif" width="703" height="156"></td>
        
</tr>
      
</table>      
      
<table width="100%"  border="0" cellspacing="2" cellpadding="0">
        
<tr valign="top"> 
          
<td id="LeftPane" runat="server"> </td>
          
<td id="ContentPane" runat="server"> </td>
          
<td id="RightPane" runat="server"> </td>
      
</tr>
    
</table>
      
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
        
<tr>
          
<td> </td>
        
</tr>
      
</table>
      
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
        
<tr>
          
<td align="center">[HELP]</td>
        
</tr>
        
<tr>
          
<td align="center"> [COPYRIGHT]</td>
        
</tr>
      
</table></td>
    
<td background="right.gif"> </td>
  
</tr>
</table>
</body>
</html>

关于皮肤的上传:
你为该你所做的皮肤用winzip打包(不是winrar),要不然会提示你上传的皮肤的错误的,可以是由于那个压缩控件的原因。
文档:点击下载
演示:点击下载
可能我讲的比较简单:)
大家也可以为自己的DotNetNuke制作简单的皮肤,虽然简单,起码也是我们属于我们自己的skin
到时我会将这原理也讲解下,明天就国庆了,七天的长假,漫漫的时间哪,都不知道该干嘛去,对DotNetNuke可能要放一个星期了

22:02:33

补充:晚上又将DotNetNuke的文档翻了翻,发现使用自定义皮肤可以是由二种方法组成的,HTML AND ASCX,
使用HTML,当然如我上面所说,对用户控件的注册是使用标志(token ),比如[LOGIN],当然如果你熟悉VS.NET,你也可以使用VS.NET自己创建SKIN,不过它同HTML不一样,它使用的是你真实的用户控件文件,比如:<dnn:Login runat="server" id="dnnLogin" />,当然如果您想要二份菜单控制,可以使用通过[MENU:1] AND [MENU:2]来指定皮肤文件,其它的嘛,暂时还没了,大家可以自己找文档翻一下,皮肤的说明文档是:DotNetNuke Skinning.doc
PS:说真的,我的英语水平很低,所以对文档所写的英文都不认识:),只能借着其它工具一个个翻译,而且经常是跳段看的,真的很吃力,不过大概意思还是能看懂就行了,如果我所说的有错误还请见谅,也希望能帮我指出,好像记得N年前就要好好学英语,好像都没有那个耐心

祝大家国庆长假玩的快乐。~

posted on 2004-09-30 22:12 小春 阅读(1250) 评论(6)  编辑  收藏 所属分类: DotNetNuke

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约