2012-08-23 10 views
6

Sono abbastanza nuovo per il servizio principale di Tridion, quindi questa potrebbe essere una semplice domanda. Voglio ottenere tutti gli schemi di metadati passando un ID di pubblicazione. Se qualcuno lo ha mai fatto, per favore rispondi.Ottieni tutti gli schemi di metadati di una pubblicazione

Grazie in anticipo

+0

Che cosa hai già provato? http://mattgemmell.com/2008/12/08/what-have-you-tried/ Ci sono un sacco di esempi di utilizzo del servizio di base per recuperare gli elementi da Tridion sia su Stack Overflow che su interwebs in generale. Prova alcuni di loro e vedi come si adattano alle tue esigenze. Se rimani bloccato, faremo del nostro meglio per farti "sbloccare". –

risposta

10

Ok, ecco un esempio. GetCoreServiceClient restituisce un SessionAwareCoreServiceClient con Impersonate già chiamato per l'utente corretto.

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

io suggerisco di guardare il codice di esempio da [qui] [1] (Login richiesto) e provare la vostra auto prima.

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

o provare questo.

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

e quindi è necessario creare ogni oggetto dello schema dopo aver ottenuto gli ID dall'alto XML e verificare se si tratta di schema di metadati.

Problemi correlati