Question

J'essaie d'ajouter un composant WebPart ListView à ma page par défaut de ma solution en bac à sable pour SharePoint 2013 dans Office 365.

J'utilise un fichier ONET pour définir mon modèle Web basé sur le modèle STS.Entre autres fonctionnalités, j'ai activé la fonctionnalité de publication.Là, j'utilise une fonctionnalité Web avec un fichier d'éléments qui provisionne la page par défaut.

Tout fonctionne bien, je peux même ajouter un composant WebPart ListView à cette page qui affiche le contenu de la liste des documents par défaut.

Cependant, il semble qu'avec toutes les autres listes (Tâches, Calendrier, ..) que j'essaie d'afficher dans un élément View dans ma page par défaut, cela m'empêche de créer le site.

J'ai essayé plusieurs approches:

Ajout physique de la liste de calendriers aux listes (Modifier le chemin de la liste dans le fichier ONET) :

<View List="Lists/Calendar" 
        Name="Calendar"
        BaseViewID="0" 
        WebPartZoneID="TopLeftRow" 
        WebPartOrder="0"/>

Ajout de la liste de calendriers sans listes :

<View List="Calendar" 
        Name="Calendar"
        BaseViewID="0" 
        WebPartZoneID="TopLeftRow" 
        WebPartOrder="0"/>

Avec fichier ressource :

<View List="$Resources:core,calendarList;" 
       BaseViewID="0" 
       WebPartZoneID="TopLeftRow" 
       WebPartOrder="0" />

Avec le corps 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>

Aucune de ces approches ne semble fonctionner.Est-ce que je fais quelque chose de mal ici?

Mise à jourIl semble que ce soit un problème de timing.Lorsque je désactive la fonctionnalité qui provisionne la page par défaut et que je l'active manuellement, cela fonctionne en utilisant ceci :

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

Avez-vous une idée sur la façon dont je peux résoudre ce problème concernant l'utilisation d'un modèle Web dans une solution sandbox ?

Était-ce utile?

La solution

Créez d'abord la liste que vous essayez de référencer dans le récepteur de fonctionnalités que vous avez ajouté à votre onet.xml déposer.Créez ensuite le composant WebPart d’affichage de liste comme vous l’avez fait dans votre onet.xml.

Cela entraînera la présence de votre liste lorsque vous tenterez de la référencer en créant le composant WebPart d’affichage de liste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top