在sitecore 6.2.0中查找使用公共子布局的所有项目

时间:2012-04-12 06:25:53

标签: sitecore

是否有可能获得sitecore中使用公共子布局或XSLT在演示文稿选项卡中进行渲染的所有项目的列表,即假设有5个items.is正在使用名为layout1.ascx的子布局。可以通过搜索方法获得所有这5个项目的列表。

提前致谢。

此致 迪夫亚

2 个答案:

答案 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}%']"

根据需要更改上面的指南。