문제

나는 SharePoint (2007)에 완전히 익숙하지 않으므로 저와 함께 해주세요. 새 사이트가 생성되면 ASPX 페이지를 자동으로 작성하고 싶습니다. 이 페이지는 마스터 페이지로 정의 될 탭으로 연결됩니다. 사용자 정의 사이트 정의가 없으며 기능 스테이플 링을 상자 Out Blank 사이트 정의에 적용 할 계획이었습니다.

내 연구를 통해 웹 파트 페이지를 만들어 기능으로 바꿀 수 있다고 생각합니다. 그런 다음 이것을 빈 사이트 정의에 스테이플 할 수 있습니다. 문제는 이것을 수행하는 방법에 대한 정보를 찾지 못했다는 것입니다. 그래서 내가 가진 두 가지 질문은 다음과 같습니다.

  1. ASPX 페이지 인 기능을 어떻게 작성합니까?
  2. 이 기능을 빈 사이트 정의에 어떻게 자극합니까?

한 사람이 여기에서 같은 질문을하는 것을 발견했습니다. 사이트 정의에 웹 부품 페이지를 추가하는 방법?나는 첫 번째 응답을 읽었지만 그것은 일종의 머리 위로 들어가서 그것이 실제로 내 질문에 대답하는지 모르겠습니다.

정말 고마워!

도움이 되었습니까?

해결책

첫 번째 질문에 대한 답은 당신이 의미하는지 여부에 달려 있습니다. 응용 프로그램 페이지 또는 컨텐츠 페이지. 각각의 장점이 있습니다. 응용 프로그램 페이지는 사용자 정의 서버 측 코드를 실행할 수 있다는 점에서 좋습니다. 컨텐츠 페이지는 사용자가 사용자 정의 할 수 있지만 기본적으로 어떤 종류의 코드가 될 수 있는지 제한됩니다. 운영.

기능과 제한의 두 유형의 차이점에 대한 좋은 논의는 Windows SharePoint Services SDK를 확인하고 "라는 주제를 살펴보십시오."응용 프로그램 _layouts 페이지 유형" 그리고 "컨텐츠 페이지 유형."

스테이플 링은 사이트 정의의 onet.xml 파일에 새로운 기능을 추가하는 것보다 매우 쉽고 유연합니다. 이것 기사 대안에 대한 꽤 좋은 개요 인 것 같습니다. 빈 사이트 정의의 사본을 만들고 이름을 바꾸고 작업에서 해당 작업을 사용하고 싶을 수도 있습니다.

콘텐츠 페이지가 포함 된 기능

이를 위해서는 세 가지 유형이 필요합니다.

  1. feature.xml 파일 - 요소가 나타나는 보일러 플레이트 만 표시됩니다.
  2. 페이지 템플릿 - 전체 ASPX 페이지 자체 일 수도 있고 웹 파트 페이지의 쉘 일 수도 있습니다. WebPartZones 정의되었지만 실제 웹 부품은 없습니다 (아직).
  3. 페이지 템플릿을 나타내는 요소 Manifest 파일은 기능의 활성화의 일부로 프로비저닝되어야하는 모든 웹 부품을 정의합니다.

기능의 폴더 구조는 다음과 같습니다.

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

feaction.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 's를 강력히 추천합니다 Windows SharePoint 서비스 내부 책. 사이트 컨텐츠 페이지의 중요한 보안 측면을 포함 하여이 주제를 자세히 설명합니다. 구매 가격의 가치가 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top