【问题标题】:Get Tridion URI from a Page Publish Path?从页面发布路径获取 Tridion URI?
【发布时间】:2012-10-10 15:42:35
【问题描述】:

我想从 Tridion 页面 PublishPath 获取页面 URI(来自公共站点的 URL)。

我知道我可以使用 WebDavURL 来获取页面 - 但在很多情况下这与页面路径不匹配(例如页面文件名是“新闻主页”但文件名是“索引”的情况) .

我目前认为这在 Tridion 中是不可能的,并考虑了以下解决方案:

  1. 将页面发布路径存储在 Tridion Solr 索引中(通过扩展它) Customized Tridion Search Index Handler: Custom vs Standard field for page url?
  2. 使用事件系统并将 PublishPath 和 Uri 持久化到外部 DB/KeyValueStore。

其他想法?

此代码将用于更新许多页面的脚本中,但也用于编辑器使用页面 URL 打开页面。

【问题讨论】:

  • 只是一个想法.. oData 网络服务会公开这些信息吗?
  • 这确实正是我上次需要通过 URL 查找页面时所做的。 http://localhost:8080/cd_webservice/odata.svc/Pages?$filter=Url+eq+'/PlayStation3/Accessories/default.aspx'

标签: tridion tridion-2011


【解决方案1】:

这可能被认为是一种奇怪的方法,但是您是否可以通过 URL 查询 Broker 以获取 PageMeta,然后您将能够从 PageMeta 对象访问 URI?

只是一个想法 - 但它可能并不理想 - 你能分享更多关于这个问题的背景吗?

【讨论】:

  • 我也在考虑这种方法,但如果页面尚未发布,这将无法正常工作......这就引出了一个问题,为什么你想要一个没有发布的东西的 url。
  • 上面 Frank 提示的这种方法是一个很好的解决方案 - 谢谢!
【解决方案2】:

我假设您需要做这个 CME 方面?性能是一个因素吗?

您可以在 Tom.net 或 CoreService 中构建一个函数来拆分您拥有的路径并循环遍历 sgs 和页面,直到您到达正确的内容页面。只要页面发布后路径信息没有更改,就应该映射在一起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-05
    • 2011-12-31
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多