将网页添加到空白共享点网站定义

时间:2009-10-26 22:40:17

标签: sharepoint wss

我对Sharepoint(2007)全新,所以请耐心等待。我想在创建新网站时自动创建aspx页面。这些页面将通过标签链接到标签,标签将由母版页定义。我没有自定义网站定义,并计划将功能装订应用于开箱即用的空白网站定义。

通过我的研究,我认为您可以创建一个Web部件页面并将其转换为一个功能。然后,我可以将其钉在空白网站定义中。问题是我没有找到任何关于如何做到这一点的信息。所以我有两个问题:

  1. 如何创建仅作为aspx页面的功能?
  2. 如何将此功能装订到空白网站定义?
  3. 我发现有一个人在这里问同一个问题:How to add a web part page to a site definition? 我读了第一个回复,但它有点过头了,我不知道它是否真的回答了我的问题。

    非常感谢!

1 个答案:

答案 0 :(得分:6)

您的第一个问题的答案取决于您是指应用程序页面还是内容页面。它们各有优势:应用程序页面很好,它们可以运行自定义服务器端代码,而内容页面很好,因为(例如)它们可以由用户自定义,但默认情况下限制在什么样的代码中运行

有关功能和限制两种类型之间差异的相当好的讨论,请查看Windows SharePoint Services SDK并查看名为“Application _layouts page type”和“Content page type”的主题。 / p>

对于装订,它比向网站定义的onet.xml文件添加新功能更简单,更灵活。这个article似乎很好地概述了替代方案。您可能希望制作空白网站定义的副本,重命名,然后在工作中使用该网站定义。

内容页面的功能

你需要三种类型的东西:

  1. feature.xml文件 - 只是引用元素清单的样板文件。
  2. 页面模板 - 这可以是整个aspx页面本身,也可以是(例如)定义了WebPartZones但没有实际Web部件的Web部件页面的shell。
  3. 元素清单文件,它引用您的页面模板,并定义在激活您的功能时应配置的任何Web部件。
  4. 您的功能的文件夹结构如下所示:

    12
    +-- TEMPLATES
        +-- FEATURES
            +-- YourFeature
                +-- PageTemplates
                |   +-- Page.aspx (simple aspx page)
                |   +-- WebPartPage.aspx (still simple, but with WebPartZones)
                +-- feature.xml
                +-- elements.xml
    

    <强>的Feature.xml:

    <Feature 
      Id="CFF117BC-9685-4a7b-88D0-523D9DAD21F0"
      Title="Custom Pages Feature"
      Scope="Web"
      xmlns="http://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="elements.xml"/>
      </ElementManifests>
    </Feature>
    

    <强> Elements.xml的

    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Module Path="PageTemplates" Url="Pages" >
        <File Url="Page.aspx" Type="Ghostable" />
        <File Url="WebPartPage.aspx" Name="WebPartPage.aspx" Type="Ghostable" >
          <AllUsersWebPart WebPartZoneID="Left" WebPartOrder="0">
            <![CDATA[         
                <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2"
                         xmlns:cewp="http://schemas.microsoft.com/WebPart/v2/ContentEditor">
                    <Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
                    <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
                    <Title>Some content that you want to provision with the feature</Title>
                    <FrameType>TitleBarOnly</FrameType>
                    <cewp:Content>
                      Hello world.
                    </cewp:Content>
                </WebPart>
            ]]>
          </AllUsersWebPart>
        </File>
      </Module>
    </Elements>
    

    <强> Page.aspx

    <%@ Page MasterPageFile="~masterurl/default.master" 
        meta:progid="SharePoint.WebPartPage.Document"  %>
    <asp:Content runat="server" ContentPlaceHolderID="PlaceHolderMain">
      Hello World
    </asp:Content>
    

    <强> WebPartPage.aspx

    <%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document"   %>
    
    <%@ Register Tagprefix="WebPartPages" 
                 Namespace="Microsoft.SharePoint.WebPartPages" 
                 Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
    <asp:Content ID="main" runat="server" ContentPlaceHolderID="PlaceHolderMain" >
    
    <table width="100%">
      <tr>
        <td valign="top" style="width:50%">
            <WebPartPages:WebPartZone ID="Left" runat="server" 
                          FrameType="TitleBarOnly" Title="Left Web Part Zone" />
        </td>
        <td valign="top" style="width:50%">
            <WebPartPages:WebPartZone ID="Right" runat="server" 
                         FrameType="TitleBarOnly" Title="Right Web Part Zone" />        
        </td>
      </tr>
    </table>
    
    </asp:Content>
    

    如果以这种方式配置功能,则应该能够在该结构中部署网站内容页面。

    另外,我强烈推荐Ted Pattison的Inside Windows SharePoint Services书。它详细介绍了此主题,包括网站内容页面的重要安全方面。这很容易买入。