【问题标题】:How to Read the Tridion Page URL from the publication using Core Services?如何使用核心服务从出版物中读取 Tridion 页面 URL?
【发布时间】:2021-05-11 18:24:31
【问题描述】:

我有一个 Excel 表格中的 Tridion 页面 URL 列表,在单击我正在为其开发自定义页面的按钮时应该取消发布。如何从出版物中读取 URL。?例如,URL 看起来像“https://www.example.com/us/en/abc/cde/index.html”(us/en - 国家/语言;abc- 文件夹在结构组中,cde- 子文件夹在abc, index.html 是页面)现在应该取消发布 index.html。

【问题讨论】:

    标签: tridion tridion-core-services


    【解决方案1】:

    如果我理解正确,您有一个页面的 URL,并且您想在 Tridion 中找到相应的页面。首先是坏消息:核心服务(CM API)不支持“通过 url 查找”。快速而肮脏的方法是使用 CD API 来检索页面。这将为您提供具有 ID 属性的 Page 返回。然后,您可以使用核心服务取消发布页面。

    您也可以使用纯核心服务方法来实现,但工作量更大而且速度很慢。它是这样的:

    • 从顶级目录开始(在您的示例中为“我们”)

    • 使用这样的过滤器列出根内的所有结构组:

      var filter = new OrganizationalItemItemsFilterData() { ItemTypes = new ItemType[] { ItemType.Page }, IncludePathColumn = true };

    • 使用 Linq 查找具有您所追求的顶级目录的目录

    • 移动到下一个目录并使用您找到的子结构组重复

    【讨论】:

    • 感谢 Quirijin,但我想遍历路径确实需要很多时间,而且我在 excel 表中有近 3000 个页面 URL。
    • 这就是为什么我首先建议使用 CD API。那会快得多。
    猜你喜欢
    • 2012-08-17
    • 2012-09-11
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 2012-10-05
    • 2012-03-20
    • 2012-12-30
    相关资源
    最近更新 更多