【问题标题】:Get all metadata schemas of a publication获取出版物的所有元数据模式
【发布时间】:2012-08-23 12:18:45
【问题描述】:

我对 Tridion 核心服务还很陌生,所以这可能是一个简单的问题。我想通过传递发布 ID 来获取所有元数据模式。如果有人这样做过,请回复。

提前致谢

【问题讨论】:

  • 你已经尝试了什么? mattgemmell.com/2008/12/08/what-have-you-tried 在 Stack Overflow 和一般的互联网上,有大量使用核心服务从 Tridion 检索项目的示例。尝试其中一些,看看它们如何满足您的需求。如果您在此过程中遇到困难,我们将尽最大努力让您“摆脱困境”。

标签: tridion tridion-2011


【解决方案1】:

好的,这是一个例子。 GetCoreServiceClient 返回一个 SessionAwareCoreServiceClient,其中 Impersonate 已为正确的用户调用。

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);
    }
}

【讨论】:

    【解决方案2】:

    我建议你从[这里][1](需要登录)查看示例代码并先尝试一下。

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

    或者试试这个。

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

    然后你需要在从上面的xml中获取ids后创建每个schema对象,并检查它是否是元数据schema。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2022-08-12
      • 2012-05-29
      相关资源
      最近更新 更多