Partager via


Instance de liste dans le modèle de complément SharePoint

L’approche que vous utilisez pour créer des instances de liste est différente dans le nouveau modèle de complément SharePoint qu’avec le code de confiance totale. Dans un scénario standard de code de confiance totale (FTC) /solution de batterie de serveurs, des instances de liste ont été créées avec du code déclaratif et déployées via des solutions SharePoint.

Dans un scénario de modèle de complément SharePoint, le modèle d’approvisionnement à distance est utilisé pour créer des instances de liste.

Conseils généraux

En règle générale, nous aimerions fournir les instructions générales suivantes pour créer des instances de liste.

  • Utilisez le modèle d’approvisionnement à distance pour créer des instances de liste.
  • N’utilisez pas de code déclaratif (elements.xml) pour créer des instances de liste.

Prise en main

L’exemple de code et la vidéo PnP O365 suivants montrent comment créer un complément SharePoint qui fournit une interface utilisateur qui permet aux utilisateurs finaux de créer des bibliothèques de documents. Il montre également comment créer une bibliothèque de documents avec des configurations spécifiques qui représentent collectivement un modèle. Dans cet exemple, vous trouverez le code qui crée une liste instance.

La vidéo suivante décrit l’exemple de code.

Utilisez la méthode AddList dans le modèle CSOM SharePoint pour créer une liste instance via le modèle d’approvisionnement à distance. Code suivant extrait de l’ECM. DocumentLibraries (exemple de code PnP O365) illustre comment procéder.

private void CreateLibrary(ClientContext ctx, Library library, string associateContentTypeID)
{
    if (!ctx.Web.ListExists(library.Title))
    {
      // Create List Instance
        ctx.Web.AddList(ListTemplateType.DocumentLibrary, library.Title, false);
        List _list = ctx.Web.GetListByTitle(library.Title);

      //Set Description
        if(!string.IsNullOrEmpty(library.Description))
        {
        _list.Description = library.Description;
        }

      //Turn on versioning
        if(library.VerisioningEnabled) {
          _list.EnableVersioning = true;
        }

    //Turn on Content Types
        _list.ContentTypesEnabled = true;
        _list.Update();

      //Add Content Type to List
        ctx.Web.AddContentTypeToListById(library.Title, associateContentTypeID, true);

        //Remove the default Document Content Type
        _list.RemoveContentTypeByName(ContentTypeManager.DEFAULT_DOCUMENT_CT_NAME);

        ctx.Web.Context.ExecuteQuery();
    }
}

L’exemple de code suivant montre comment créer une liste instance avec l’API REST SharePoint. Cet exemple provient de la référence de l’API REST Listes et éléments de liste (article MSDN)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web/lists
    ?@target='<host web url>'",
  method: "POST",
  body: "{ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': true, 'BaseTemplate': 100,
    'ContentTypesEnabled': true, 'Description': 'My list description', 'Title': 'Test title' }",
  headers: { "content-type": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Exemples PnP

S’applique à

  • Office 365 multi-locataire (MT).
  • Office 365 dédiés (D) partiellement
  • SharePoint 2013 en local : partiellement

Les modèles pour les versions dédiées et en local sont identiques au complément SharePoint technique du modèle, mais il existe des différences sur les technologies qui peuvent être utilisées.