2013-01-22 6 views
8

Come posso ottenere un elenco degli obiettivi di pubblicazione con il servizio principale di Tridion? Vedo questo esempio di codice per ottenere le informazioni di destinazione, ma non riesco a trovare un modo per ottenere l'elenco dal servizio principale. Forse fa parte dell'oggetto della pubblicazione?Elenco degli obiettivi di pubblicazione che utilizzano il servizio Tridion Core?

var pubtarget = (PublicationTargetData)client.Read("tcm:0-21-65537", readoption); 

Inoltre, se c'è un modo per ottenere questo tramite il client JavaScript di Anguilla, sarebbe anche bello.

risposta

8
var filter = new PublicationTargetsFilterData(); 
var pubTargets = ClientAdmin.GetSystemWideList(filter); 
var pubTargetsXml = ClientAdmin.GetSystemWideListXml(filter); 

È possibile impostare altre proprietà del filtro sui filter oggetto

+0

Grazie! Le cose buone sono nascoste negli elenchi SystemWide ... – robrtc

7

user978511 già risposto come farlo utilizzando il servizio principale, quindi lasciatemi rispondere come si può fare utilizzando Anguilla:

var system = $models.getItem($const.TCMROOT); 
var list = system.getListPublicationTargets(); 

Da questo momento in poi, è un elenco normale, quindi è necessario controllare lo isLoaded() e chiamare load() se restituisce false (aggancio negli eventi "load"/"loadfailed" per il callback).

Gli obiettivi pubblicazione sono disponibili sia in formato XML attraverso il metodo getXml() o come un array attraverso il metodo getItems() (che restituisce un array di elementi del modello - così ancora una volta, è possibile controllare isLoaded() su quelli, etc.)

+0

Molto interessante! :) – robrtc