빈 SharePoint 사이트 정의에 웹 페이지 추가
-
06-07-2019 - |
문제
나는 SharePoint (2007)에 완전히 익숙하지 않으므로 저와 함께 해주세요. 새 사이트가 생성되면 ASPX 페이지를 자동으로 작성하고 싶습니다. 이 페이지는 마스터 페이지로 정의 될 탭으로 연결됩니다. 사용자 정의 사이트 정의가 없으며 기능 스테이플 링을 상자 Out Blank 사이트 정의에 적용 할 계획이었습니다.
내 연구를 통해 웹 파트 페이지를 만들어 기능으로 바꿀 수 있다고 생각합니다. 그런 다음 이것을 빈 사이트 정의에 스테이플 할 수 있습니다. 문제는 이것을 수행하는 방법에 대한 정보를 찾지 못했다는 것입니다. 그래서 내가 가진 두 가지 질문은 다음과 같습니다.
- ASPX 페이지 인 기능을 어떻게 작성합니까?
- 이 기능을 빈 사이트 정의에 어떻게 자극합니까?
한 사람이 여기에서 같은 질문을하는 것을 발견했습니다. 사이트 정의에 웹 부품 페이지를 추가하는 방법?나는 첫 번째 응답을 읽었지만 그것은 일종의 머리 위로 들어가서 그것이 실제로 내 질문에 대답하는지 모르겠습니다.
정말 고마워!
해결책
첫 번째 질문에 대한 답은 당신이 의미하는지 여부에 달려 있습니다. 응용 프로그램 페이지 또는 컨텐츠 페이지. 각각의 장점이 있습니다. 응용 프로그램 페이지는 사용자 정의 서버 측 코드를 실행할 수 있다는 점에서 좋습니다. 컨텐츠 페이지는 사용자가 사용자 정의 할 수 있지만 기본적으로 어떤 종류의 코드가 될 수 있는지 제한됩니다. 운영.
기능과 제한의 두 유형의 차이점에 대한 좋은 논의는 Windows SharePoint Services SDK를 확인하고 "라는 주제를 살펴보십시오."응용 프로그램 _layouts 페이지 유형" 그리고 "컨텐츠 페이지 유형."
스테이플 링은 사이트 정의의 onet.xml 파일에 새로운 기능을 추가하는 것보다 매우 쉽고 유연합니다. 이것 기사 대안에 대한 꽤 좋은 개요 인 것 같습니다. 빈 사이트 정의의 사본을 만들고 이름을 바꾸고 작업에서 해당 작업을 사용하고 싶을 수도 있습니다.
콘텐츠 페이지가 포함 된 기능
이를 위해서는 세 가지 유형이 필요합니다.
- feature.xml 파일 - 요소가 나타나는 보일러 플레이트 만 표시됩니다.
- 페이지 템플릿 - 전체 ASPX 페이지 자체 일 수도 있고 웹 파트 페이지의 쉘 일 수도 있습니다.
WebPartZones
정의되었지만 실제 웹 부품은 없습니다 (아직). - 페이지 템플릿을 나타내는 요소 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 서비스 내부 책. 사이트 컨텐츠 페이지의 중요한 보안 측면을 포함 하여이 주제를 자세히 설명합니다. 구매 가격의 가치가 쉽습니다.