Frage

Ich bin völlig neu für Sharepoint (2007) also bitte Geduld mit mir.Ich würde gerne automatisch erstellen, die aspx-Seiten, wenn eine neue Website erstellt wird.Diese Seiten werden verbunden, um durch die Registerkarten, die definiert wird durch eine master-Seite.Ich habe keine benutzerdefinierten Websitedefinition und war in der Planung zu gelten Anheftung der out of the box leere Website-definition.

Durch meine Forschung, ich denke, Sie können erstellen Sie einen web-part-Seite und drehen Sie diesen in eine Funktion.Ich kann dann Heften Sie dieses an den leeren Ort definition.Das problem ist, ich habe nicht gefunden, irgendwelche Informationen, wie Sie dies tun können.Also die zwei Fragen, die ich habe, sind:

  1. Wie erstelle ich eine Funktion, die nur eine aspx-Seite?
  2. Wie staple ich diese Funktion auf eine leere Website, die definition?

Fand ich eine person gefragt, die gleiche Frage hier: Hinzufügen eines web-part-Seite auf einer site-definition? Ich Las die erste Antwort, aber es irgendwie geht über meinem Kopf und ich weiß nicht, ob es wirklich beantwortet meine Frage.

Dank so viel!

War es hilfreich?

Lösung

Die Antwort auf die erste Frage hängt davon ab, ob du meinst anwendungsseiten oder Inhalt Seiten.Sie haben jeweils Ihre Vorteile:Anwendung-Seiten sind gut, dass Sie können benutzerdefinierte server-side-code-und content-Seiten sind nett, weil (zum Beispiel) Sie können von Benutzern angepasst werden, aber standardmäßig eingeschränkt sind, was Art von code, der ausgeführt werden kann.

Für eine ziemlich gute Diskussion über die Unterschiede zwischen den beiden Arten in den Fähigkeiten und Einschränkungen, check out Windows SharePoint Services SDK und Blick auf die Themen genannt "Anwendung _layouts Seite geben"und "Seite Inhalt Typ."

Wie Heften, es ist ziemlich leicht und flexibler als das hinzufügen neuer Funktionen zu einer Websitedefinition onet.xml Datei.Diese Artikel scheint ein ziemlich guter überblick über die alternativen.Möglicherweise möchten Sie eine Kopie der leere Website definition, benennen Sie Sie, und verwenden Sie dann, dass Sie in Ihrer Arbeit, obwohl.

Funktionen, die mit content-Seiten

Sie benötigen drei Arten von Dingen, für diese:

  1. Ein feature.xml Datei -- und nur die vorformulierten Zeug, das bezieht sich auf das element manifestieren.
  2. Eine Seite Vorlage-diese könnten das gesamte aspx-Seite selbst, oder es sein könnte (zum Beispiel) eine Schale von einer Webpart-Seite mit WebPartZones definiert, aber keine eigentlichen web-Teile (noch) nicht.
  3. Das element manifest-Datei, die sich auf Ihre Seite-Vorlagen und definiert alle Webparts, sollten bereitgestellt werden, die als Teil der Aktivierung der Funktion.

Ihre Funktion, die Ordner-Struktur würde wie folgt Aussehen:

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>

Seite.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>

Wenn Sie Ihre Funktion in, dass Weg, Sie sollten in der Lage sein, um Website-content bereitstellen Seiten innerhalb der Struktur.

Auch ich empfehle Ted Pattison s In Windows SharePoint Services Buch.Es behandelt dieses Thema im detail, einschließlich der wichtigen Sicherheits-Aspekte des Inhalts der Website-Seiten.Es ist leicht, lohnt sich der Kauf Preis.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top