将网页添加到空白sharepoint网站定义

DL.*_*DL. 1 sharepoint wss

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

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

  1. 如何创建仅作为aspx页面的功能?
  2. 如何将此功能装订到空白网站定义?

我发现有一个人在这里问同一个问题:如何将网页部分页面添加到网站定义中? 我读了第一个回复,但它有点过头了,我不知道它是否真的回答了我的问题.

非常感谢!

Chr*_*mer 6

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

有关功能和限制两种类型之间差异的相当好的讨论,请查看Windows SharePoint Services SDK并查看名为" Application _layouts页面类型 "和" 内容页面类型 " 的主题.

至于装订,它比向网站定义的onet.xml文件添加新功能更简单,更灵活.此文章似乎替代的一个很好的概述.您可能想要复制空白网站定义,重命名它,然后在工作中使用它.

内容页面的功能

你需要三种类型的东西:

  1. feature.xml文件 - 只是引用元素清单的样板文件.
  2. 页面模板 - 这可以是整个aspx页面本身,也可以是(例如)具有已WebPartZones定义但没有实际Web部件的Web部件页面的shell (尚未).
  3. 元素清单文件引用您的页面模板,并定义应作为激活功能的一部分配置的任何Web部件.

您的功能的文件夹结构如下所示:

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

的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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

Page.aspx

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

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>
Run Code Online (Sandbox Code Playgroud)

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

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