Sharepoint 如何将web部件页添加到网站定义中?

Sharepoint 如何将web部件页添加到网站定义中?,sharepoint,web-parts,Sharepoint,Web Parts,我必须为必须包含预定义web部件页的客户端创建站点定义。我可以创建web部件页,但在创建时将它们附加到站点时,我会不知所措 我知道通过SharePoint创建的web部件页面存储在文档库中。我是否需要预先填充“Web部件页”文档库并向这些文件添加所需的导航?如果是这样,我如何添加所需的aspx文件 最后,在onet中配置自定义web部件页面时,是否有任何需要注意的注意事项?您可以遵循使用功能绑定的方法。我使用此选项在创建web部件时自动将其添加到我的网站: 您可以在ONET.XML中设置页面 首

我必须为必须包含预定义web部件页的客户端创建站点定义。我可以创建web部件页,但在创建时将它们附加到站点时,我会不知所措

我知道通过SharePoint创建的web部件页面存储在文档库中。我是否需要预先填充“Web部件页”文档库并向这些文件添加所需的导航?如果是这样,我如何添加所需的aspx文件


最后,在onet中配置自定义web部件页面时,是否有任何需要注意的注意事项?

您可以遵循使用功能绑定的方法。我使用此选项在创建web部件时自动将其添加到我的网站:


您可以在ONET.XML中设置页面

首先将web部件页面模板添加到站点定义中

然后在ONET.XML中提供一个页面实例(添加了web parted)

泰德·帕蒂森(Ted Pattison)的书中对这件事做了充分的描述

default.aspx

<%@ Assembly Name="Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Page language="C#" MasterPageFile="~masterurl/default.master"    
          Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage" %>

<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
    <table cellspacing="0" border="0" width="100%">
      <tr>
       <td class="ms-pagebreadcrumb">
            <asp:SiteMapPath SiteMapProvider="SPContentMapProvider" id="ContentMap" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
       </td>
      </tr>
      <tr>
        <td>
         <table width="100%" cellpadding=0 cellspacing=0 style="padding: 5px 10px 10px 10px;">
          <tr>
           <td valign="top" width="70%">
               <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Left" Title="loc:Left" />
               &nbsp;
           </td>
           <td>&nbsp;</td>
           <td valign="top" width="30%">
               <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Right" Title="loc:Right" />
               &nbsp;
           </td>
           <td>&nbsp;</td>
          </tr>
         </table>
        </td>
      </tr>
    </table>
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
    <SharePoint:ProjectProperty ID="ProjectProperty1" Property="Title" runat="server"/>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderId="PlaceHolderPageTitleInTitleArea" runat="server">
         <label class="ms-hidden"><SharePoint:ProjectProperty ID="ProjectProperty2" Property="Title" runat="server"/></label>
</asp:Content>

ONET.xml代码段

<Module Name="Default" Url="" >
  <File Url="default.aspx" Type="Ghostable">
    <!-- Add a Web Part to left zone -->
    <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>Working with Site Definitions</Title>
         <FrameType>TitleBarOnly</FrameType>
         <cewp:Content>
           This Web Part was added through declarative logic in ONET.XML
         </cewp:Content>
       </WebPart>
       ]]>
    </AllUsersWebPart>
  </File>
</Module>

Microsoft.SharePoint,版本=12.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c
Microsoft.SharePoint.WebPartPages.ContentEditorWebPart
使用站点定义
标题栏
此Web部件是通过ONET.XML中的声明性逻辑添加的
]]>

Rob的答案不是我想要的。我们试图做的是添加额外的Web部件页面,这些页面将已经设置了预定义的Web部件布局,并链接到顶部或快速导航上。我甚至从来没有想过使用一个功能和装订它!我不知道为什么考虑到我们所有的自定义列表都是这样做的。我要试试看!谢谢网络连线。