在WSS SDK中有一篇文章介绍了使用Modules添加文件到网站定义中(可以在http://msdn.microsoft.com中搜索Using Modules to Add Files to a Site Difinition找到),不过很多东西只是稍微提了一下,具体怎么操作并没有讲到。
一般的,我们可以用下面的方法使用Module,
  1. 修改默认的Module
    在STS网站定义中的ONET.XML中有一个默认的Default Module:
    使用Module自定义网站定义(Site Definition)<Modules>
    使用Module自定义网站定义(Site Definition)   
    <Module Name="Default" />
    使用Module自定义网站定义(Site Definition)
    </Modules>
    然后在下面的 <Modules/Module Name="Default">中有<File>子元素。我们可以按照它的格式添加新的File元素即可。如:
    使用Module自定义网站定义(Site Definition)<File Url="mslst.aspx">
    使用Module自定义网站定义(Site Definition)   
    <AllUsersWebPart WebPartOrder="1" WebPartZoneID="Body">
    使用Module自定义网站定义(Site Definition)      
    <![CDATA[
    使用Module自定义网站定义(Site Definition)         <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
    使用Module自定义网站定义(Site Definition)            <Assembly>AssemblyName, Version=Version, Culture=neutral,
                                    PublicKeyToken=PublicKeyToken</Assembly>
    使用Module自定义网站定义(Site Definition)            <TypeName>TypeName</TypeName>
    使用Module自定义网站定义(Site Definition)            <Description></Description>
    使用Module自定义网站定义(Site Definition)            <FrameType>None</FrameType>
    使用Module自定义网站定义(Site Definition)         </WebPart>
    使用Module自定义网站定义(Site Definition)      
    ]]>
    使用Module自定义网站定义(Site Definition)   
    </AllUsersWebPart>
    使用Module自定义网站定义(Site Definition)
    </File>
    使用Module自定义网站定义(Site Definition)
    其中, <AllUsersWebPart>就是用来指定页面上WebPartZone中的Web部件的。当然,如果不需要指定Web部件的话,就不需要使用<AllUsersWebPart>了。
    另外需要注意的是,上面示例代码中的<File>元素的Url属性值指定的是网站定义中此文件的路径,也是需要在网站中访问此文件的路径自定义Module。由于<Module Name="Default">的Path属性的值为空,因此,此文件(mslst.aspx)的路径应该也在网站定义的根路径下,和default.aspx在同一个目录。
  2. 使用默认的Module不能添加子目录(至少我还没有试出来。不知道哪位高手有这方面的经验),这是不太方便的。如果需要添加子目录的话,可以照下面的方法做:
    • 新建一个Module
      添加一个Module可以在ONET.XMl中的Project/Configurations/Configuration/Modules下新建一个Module子元素,如:
      使用Module自定义网站定义(Site Definition)<Modules>
      使用Module自定义网站定义(Site Definition)  
      <Module Name="Default" />
      使用Module自定义网站定义(Site Definition)  
      <Module Name="NewMd" />
      使用Module自定义网站定义(Site Definition)
      </Modules>
    • 更改此Module的属性然后需要相应的在 Project/Modules元素下新建一个Module元素,其中: Path属性指定此Module对应的文件夹的相对路径(相对与此ONET.XMl),Url属性指定在网页中访问此网站的路径。另外还有一个 RootWebOnly 属性指定此Module是否只有在根网站才有。如:
      使用Module自定义网站定义(Site Definition)<Module Name="NewWd" Url="_New" Path="New/">
      使用Module自定义网站定义(Site Definition)
      <Module />
    • 添加文件然后就是象上面一样,在这个Module元素下添加File元素了。
使用上面介绍的方法可以帮助我们定义自己的网站定义。

相关文章:

  • 2021-11-13
  • 2021-11-13
  • 2021-12-23
  • 2021-12-21
  • 2021-11-13
  • 2021-11-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-17
  • 2021-10-29
  • 2021-06-30
  • 2021-12-04
  • 2021-10-11
  • 2022-03-01
相关资源
相似解决方案