XML을 통해 목록 보기 웹파트를 추가할 수 없습니다.
-
29-09-2020 - |
문제
Office 365의 SharePoint 2013용 샌드박스 솔루션 기본 페이지에 목록 보기 웹 파트를 추가하려고 합니다.
저는 STS 템플릿을 기반으로 웹 템플릿을 정의하기 위해 ONET 파일을 사용하고 있습니다.다른 기능 중에서 게시 기능을 활성화했습니다.여기서는 기본 페이지를 제공하는 요소 파일과 함께 웹 기능을 사용합니다.
모든 것이 잘 작동하고 있습니다. 기본 문서 목록의 내용을 표시하는 목록 보기 웹 파트를 이 페이지에 추가할 수도 있습니다.
그러나 다른 모든 목록(작업, 달력 등)을 기본 페이지의 보기 요소에 표시하려고 하면 사이트를 생성할 수 없는 것 같습니다.
나는 여러 가지 접근 방식을 시도했습니다.
목록에 달력 목록을 물리적으로 추가합니다(ONE 파일의 목록 경로 변경).
<View List="Lists/Calendar"
Name="Calendar"
BaseViewID="0"
WebPartZoneID="TopLeftRow"
WebPartOrder="0"/>
목록 없이 캘린더 목록 추가:
<View List="Calendar"
Name="Calendar"
BaseViewID="0"
WebPartZoneID="TopLeftRow"
WebPartOrder="0"/>
리소스 파일 사용:
<View List="$Resources:core,calendarList;"
BaseViewID="0"
WebPartZoneID="TopLeftRow"
WebPartOrder="0" />
본문 xml 사용:
<View List="Lists/Calendar" BaseViewID="0" WebPartZoneID="TopLeftRow" WebPartOrder="1">
<![CDATA[<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,Microsoft.SharePoint,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">Calendar</property>
<property name="DisableViewSelectorMenu" type="bool">True</property>
<property name="InplaceSearchEnabled" type="bool">False</property>
<property name="ShowToolbarWithRibbon" type="bool">False</property>
<property name="ChromeType" type="chrometype">TitleOnly</property>
</properties>
</data>
</webPart>
</webParts>]]>
</View>
이러한 접근 방식 중 어느 것도 작동하지 않는 것 같습니다.내가 여기서 뭔가 잘못하고 있는 걸까요?
업데이트타이밍 문제인 것 같습니다.기본 페이지를 프로비저닝하는 기능을 비활성화하고 수동으로 활성화하면 다음을 사용하여 작동합니다.
<View BaseViewID="2" List="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" WebPartZoneID="TopRightRow" DefaultView="TRUE" Type="CALENDAR" WebPartOrder="1" >
<![CDATA[
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Assembly>Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ListViewWebPart</TypeName>
<Title>Calendar</Title>
</WebPart>]]>
</View>
샌드박스 솔루션에서 웹 템플릿 사용과 관련하여 이 문제를 어떻게 해결할 수 있는지 아이디어가 있습니까?
해결책
먼저 추가한 기능 수신기에서 참조하려는 목록을 만듭니다. onet.xml
파일.그런 다음 프로젝트에서 수행한 대로 목록 보기 웹 파트를 만듭니다. onet.xml
.
이렇게 하면 목록 보기 웹 파트를 만들어 참조하려고 할 때 목록이 거기에 있게 됩니다.