Не могу добавить веб-часть представления списка через XML
-
29-09-2020 - |
Вопрос
Я пытаюсь добавить веб-часть просмотра списка на страницу по умолчанию моего изолированного решения для SharePoint 2013 в Office 365.
Я использую файл ONET для определения своего веб-шаблона на основе шаблона STS.Среди других функций я активировал функцию публикации.Там я использую веб-функцию с файлом элементов, который предоставляет страницу по умолчанию.
Все работает хорошо, я даже могу добавить на эту страницу веб-часть списка, которая показывает содержимое списка документов по умолчанию.
Однако кажется, что любой другой список (Задачи, Календарь и т. д.), который я пытаюсь отобразить в элементе «Просмотр» на моей странице по умолчанию, не позволяет мне создать сайт.
Я попробовал несколько подходов:
Физическое добавление списка календаря в списки (изменить путь к списку в файле ONET):
<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
.
В результате ваш список будет присутствовать, когда вы попытаетесь сослаться на него, создав веб-часть представления списка.