2012-08-23 6 views
6

Ich bin ziemlich neu im Tridion-Kerndienst, daher könnte dies eine einfache Frage sein. Ich möchte alle Metadatenschemas erhalten, indem ich eine Veröffentlichungs-ID übergebe. Wenn jemand dies jemals getan hat, bitte antworten Sie. ersteAlle Metadatenschemas einer Veröffentlichung abrufen

Vielen Dank im Voraus

+0

Was haben Sie schon versucht? http://mattgemamm.com/2008/12/08/what-have-you-tried/ Es gibt Tonnen von Beispielen des Verwendens des Kerndienstes, um Artikel von Tridion auf Stapelüberlauf und auf den Interwebs im Allgemeinen abzurufen. Probieren Sie einige von ihnen aus und sehen Sie, wie sie Ihren Bedürfnissen entsprechen. Wenn Sie dabei stecken bleiben, werden wir unser Bestes tun, um Sie "loszubekommen". –

Antwort

10

Okay, hier ist ein Beispiel. GetCoreServiceClient gibt einen SessionAwareCoreServiceClient zurück, wobei für den korrekten Benutzer bereits Impersonate aufgerufen wurde.

public static IdentifiableObjectData[] GetMetadataSchemas(string publicationId) 
{ 
    using (var client = GetCoreServiceClient()) 
    { 
     var filter = new RepositoryItemsFilterData 
     { 
      SchemaPurposes = new[] { SchemaPurpose.Metadata }, 
      Recursive = true, 
      ShowNewItems = false, 
      ItemTypes = new[] { ItemType.Schema } 
     }; 

     return client.GetList(publicationId, filter); 
    } 
} 
10

Ich schlage vor, Sie Beispielcode zu sehen von [hier] [1] (Anmeldung erforderlich) und Ihr Selbst versuchen.

[http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_95D8F90693834AF089FEBCDC0347D04D][1]

oder dies versuchen.

RepositoryItemsFilterData filterData = new RepositoryItemsFilterData(); 
filterData.ItemTypes = new[] 
         { 
         ItemType.Schema 
         }; 
filterData.Recursive = true; 
XElement resultXml = client.GetListXml(publicationId, filterData); 

Und dann müssen Sie jedes Schema-Objekt erstellen, nachdem IDs von oben xml bekommen und prüfen, ob es Metadatenschema ist.