Supponiamo che le seguenti pubblicazioni per questa domanda.Ottenere la pubblicazione radice del componente
20 Contenuto -> TCM: 0-20-1
...
...
...
70 Web -> TCM: 0-121-1
I un componente creato sotto la pubblicazione (20 Contenuto) e sto pubblicando questo componente da una delle pubblicazioni secondarie (70 Web). Sto usando il modello di Dreamweaver per scrivere l'interfaccia utente e sto chiamando le funzioni personalizzate di C# da DWT. Durante la pubblicazione, questo componente verrà indicato come 121-432 nella presentazione del componente. C'è un modo per ottenere la pubblicazione radice di dove viene creato il componente? Dovrei ottenere 20-432, invece di ottenere 121-432.
Ho provato Component .GetBluePrintChain() e restituisce un elenco che contiene tutta la gerarchia blueprint. Potrei ottenere il 1 ° elemento da questo elenco per ottenere questo componente con la pubblicazione in cui è stato effettivamente creato.
Dato che dovrò chiamare questo metodo in molti punti, volevo solo verificare se esiste un altro modo diretto/migliore per farlo.
Qualcuno può suggerire?
D'accordo con il controllo OwningRepository, ma penso che tu abbia sbagliato l'ordine degli argomenti. In TOM.NET la firma è 'pubblica TcmUri (int itemId, ItemType itemType, int publicationId)' per qualche motivo. –
Grazie Peter, ho aggiornato la mia risposta. –
@FrankvanPuffelen Ho provato questo, ma non riesco ancora a ottenere l'ID della pubblicazione del livello di creazione del componente. Sto avendo un componente in pubblico 020 e avendo una CT nella pubblicazione 030 Design e mentre faccio l'anteprima nella pubblicazione Web 070, sto ancora vedendo tcm id della pubblicazione 070. – Balaji