是否有可能获得sitecore中使用公共子布局或XSLT在演示文稿选项卡中进行渲染的所有项目的列表,即假设有5个items.is正在使用名为layout1.ascx的子布局。可以通过搜索方法获得所有这5个项目的列表。
提前致谢。
此致 迪夫亚
答案 0 :(得分:15)
您可能需要分两步执行此操作(如果只有一个模板,则需要执行此操作)。
您需要使用链接数据库。
查看这些“链接”的最简单方法是转到“子布局”或“渲染”,然后转到“导航”菜单,然后单击“链接”。这应该显示指向当前项目的所有项目以及当前项目指向的所有项目(即两种方式)。
这可能会为您提供模板和/或项目列表(如果直接在项目上设置子布局)。
然后转到模板,看看如何查看哪些项目引用模板。
这应该显示哪些项目正在使用哪些子布局。
当然这需要链接数据库可以做(应该自动完成,但你可以使用开始>控制面板>数据库>重建链接数据库)强制执行此操作,并且Sublayouts等在Sitecore中绑定。
我希望这会有所帮助。
答案 1 :(得分:6)
链接数据库建议很棒,但如果您的子布局被数百个项目使用,则可能需要一段时间才能加载。
另一种选择是这种快速查询:
fast://*[@__Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%' or @__Final Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%']
这可以在开发人员中心的工具>下运行。 XPath Builder(或者Sitecore 8.x,XPath Builder可以在/sitecore/shell/default.aspx?xmlcontrol=IDE.XPath.Builder找到)。
Sitecore 9.x不再支持XPath Builder,但如果您安装Sitecore PowerShell Extensions,仍然可以运行此命令。
可以运行以下命令:
Get-Item -Path "master:" -Query "fast://*[@__Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%' or @__Final Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%']"
根据需要更改上面的指南。