-1

パブリケーション内の公開日を含むすべてのページのリストを持つカスタム ページを作成する必要があります。このコードを使用してカスタム ページで公開日を取得する方法を教えてもらえますか?

private ItemType GetTridionItemType(RepositoryLocalObjectData source)
{
    string itemType = source.GetType().Name;
    switch (itemType)
    {
        case "PageData":
            return ItemType.Page;
    }
    return ItemType.UnknownByClient;
} 

private string CreateNewItemCopy(string title, RepositoryLocalObjectData source, 
                                 string filename)
{
    ItemType tridionItemType = GetTridionItemType(source);
    string orgItemUri = source.LocationInfo.OrganizationalItem.IdRef;
    var newItem = client.Copy(source.Id, orgItemUri, true, new ReadOptions());
    newItem.Title = title;
    if (tridionItemType == ItemType.Page)
    {
        PageData pageData = newItem as PageData;
        pageData.FileName = filename;
        client.Update(pageData, new ReadOptions());
    }
    else
    {
        client.Update(newItem, new ReadOptions());
    }

    return newItem.Id;
}
4

2 に答える 2

5

コアサービスからパブリッシュ情報を取得できます

TridionGeneration Generation = new TridionGeneration();
            Generation.Settings = GetImportSetting();
            var objclient = new CoreService2010Client();
            objclient.ClientCredentials.Windows.ClientCredential.UserName = Generation.Settings.Username;
            objclient.ClientCredentials.Windows.ClientCredential.Password = Generation.Settings.Password;
            objclient.Open();
            Generation.client = objclient;
           

            var objectList = Generation.client.GetListPublishInfo([object tcm uri]);

于 2012-09-04T04:55:03.997 に答える
3

PublishEngine.GetPublishInfo は、アイテムの公開情報を返します。公開日が含まれています。(PublishInfo.PublishedAt)。

CoreService.GetListPublishInfo を使用することもできます。

于 2012-09-03T13:52:34.403 に答える