在Sitecore中,如何获取项目出现的所有页面的列表?感谢
答案 0 :(得分:3)
内部Sitecore维护一个名为Link Database的Items之间的引用数据库。您可以使用“内容编辑器”功能区上“导航”选项卡上的“链接”下拉列表进行查询。这可能会为您提供所需的信息。
(您还可以通过代码查询链接数据库 - 请参阅http://laubplusco.net/sitecore-item-extensions-get-referrers-as-items/上的示例代码,了解执行此操作的示例 - 或SDN中的文档)
如果与目标项的关系是通过选择字段类型(多列表,树视图等)或通过Renderings / Sublayouts / etc的DataSource属性,那么您应该能够选择您感兴趣的项目并单击“链接“下拉列表以查看Sitecore记录的关系列表。这将列出系统关系(此项目使用的模板)以及您感兴趣的关系,其中一个项目指向另一个项目。
请注意,此方法无法告诉您某些类型的关系:最常见的排序是在运行时计算的排序。 (EG API查询或搜索)因为链接数据库中不存在这些关系。
- 编辑添加 -
您要求获取这些项目的URL。在代码中,您可以通过调用LinkManager.GetItemUrl()并传入您感兴趣的项目来获取项目的URL。这将为您提供公共网站URL,而不是您直接从中获取的Sitecore项目路径。链接数据库。