2012-02-22 5 views
8

Używam wersji Tridion 5.3.Tridion: Jak mogę się dowiedzieć, czy strona została opublikowana w konkretnym celu publikacji przy użyciu konektora biznesowego?

Korzystanie z konektora biznesowego Chcę sprawdzić, czy strona została opublikowana w określonym celu publikacji.

Korzystanie z API TOM mogę zrobić

// using types from Tridion.ContentManager.Interop.TDS 
// and Tridion.ContentManager.Interop.TDSDefines 
TDSE tdse = new TDSE(); 
Page page = (Page)tdse.GetObject(itemUri, EnumOpenMode.OpenModeView, 
           "tcm:0-0-0", XMLReadFilter.XMLReadAll); 
page.IsPublishedTo(tcm); 

Jeśli kwerendy Tridion pomocą złącza biznesowe jedyna informacja mogę to jeśli strona została opublikowana, lecz nie do których jest kierowana.

Próbowałem już zapytać o cel publikacji, ale to nie daje żadnych informacji o tym, które strony zostały opublikowane.

Wszelkie pomysły?

Odpowiedz

6

Należy ustawić XMLReadPublishInfo i XMLReadPublishInfoDetails ItemFilters:

<tcmapi:Message xmlns:tcmapi="http://www.tridion.com/ContentManager/5.0/TCMAPI" 
       version="5.0" from="[MDVC.js][CmdsExecute]" failOnError="false"> 
<tcmapi:Request ID="tcm:1010-8314-64" preserve="true"> 
    <tcmapi:GetItem itemURI="tcm:1010-8314-64" openMode="OpenModeView"> 
     <tcmapi:ItemFilter type="XMLReadPublishInfo" /> 
     <tcmapi:ItemFilter type="XMLReadPublishInfoDetails" /> 
    </tcmapi:GetItem> 
</tcmapi:Request> 

ten powróci wszystkie informacje publikowania i stamtąd będzie trzeba go filtrować siebie. Oto przykład odpowiedź:

<tcmapi:Message xmlns:tcmapi="http://www.tridion.com/ContentManager/5.0/TCMAPI" 
       version="5.0" from="[MDVC.js][CmdsExecute]" failOnError="false"> 
<tcmapi:Response ID="tcm:1010-8314-64" success="true" actionWF="false"> 
    <tcmapi:Request ID="tcm:1010-8314-64" preserve="true"> 
    <tcmapi:GetItem itemURI="tcm:1010-8314-64" openMode="OpenModeView"> 
     <tcmapi:ItemFilter type="XMLReadPublishInfo" /> 
     <tcmapi:ItemFilter type="XMLReadPublishInfoDetails" /> 
    </tcmapi:GetItem> 
    </tcmapi:Request> 
    <tcmapi:Result> 
    <tcm:Page ID="tcm:1010-8314-64" IsEditable="false" 
       xmlns:tcm="http://www.tridion.com/ContentManager/5.0" 
       xmlns:xlink="http://www.w3.org/1999/xlink"> 
     <tcm:Info> 
     <tcm:PublishInfo> 
      <tcm:IsPublished>true</tcm:IsPublished> 
      <tcm:PublishState> 
      <tcm:Publication xlink:type="simple" xlink:title="Web: " 
          xlink:href="tcm:0-1010-1" /> 
      <tcm:PublicationTarget xlink:type="simple" xlink:title="A" 
            xlink:href="tcm:0-143-65537" /> 
      <tcm:Date>2006-01-30T11:22:58</tcm:Date> 
      <tcm:Publisher xlink:type="simple" xlink:title="NA\A085159" 
          xlink:href="tcm:0-220-65552" /> 
      </tcm:PublishState> 
     </tcm:PublishInfo> 
     </tcm:Info> 
    </tcm:Page> 
    </tcmapi:Result> 
</tcmapi:Response> 

+1

To jest odpowiedź, której potrzebowałem. Dzięki! –

+0

Obecnie mam inny problem z Tridion, który uniemożliwia mi podanie pełnego przykładu kodu. Publikuje, gdy go naprawię. –

3

Dla szybkiej kontroli tutaj jest, co bym zrobił.

  1. Ustaw CMS w trybie debugowania.
  2. Otwórz stronę, o której mowa:
  3. Pokazuj, gdzie jest używany w GUI.
  4. Przejdź do zakładki "Opublikowane do". 5) Po kroku 4 nie klikaj niczego, tylko ikonę okna debugowania. Chwyć żądanie BC XML, w którym go zobaczysz, i zaktualizuj parametry, takie jak identyfikator strony itd. I wprowadź żądanie przy użyciu BC dla twoich stron.

Powyższe powinno działać.

+0

Jak można "ustawić CMS w trybie debugowania"? –

+0

Przypuszczalnie on oznacza GUI. –

Powiązane problemy