0

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

4

1 回答 1

1

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

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

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

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

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

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

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

于 2021-02-09T10:10:01.563 回答