6

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

提前致谢。

问候, 迪维亚

4

2 回答 2

15

您可能需要分两步执行此操作(或者如果它只有 1 个模板,则需要一个步骤)。

您需要使用 Link 数据库。

查看这些“链接”的最简单方法是转到子布局或渲染并转到“导航”菜单,然后单击“链接”。这应该向您显示指向当前项目的所有项目以及当前项目指向的所有项目(即双向)。

这可能会给你一个模板和/或项目的列表(如果子布局直接设置在一个项目上)。

然后转到模板并查看如何执行相同操作以查看哪些项目具有对模板的引用。

这应该向您显示哪些项目正在使用哪些子布局。

当然,这需要链接数据库已完成(应该自动完成,但您可以使用“开始”>“控制面板”>“数据库”>“重建链接数据库”强制执行此操作)并且子布局等绑定在 Sitecore 中。

我希望这有帮助。

于 2012-04-12T08:28:53.937 回答
7

链接数据库建议很棒,但如果您的子布局被数百个项目使用,则加载可能需要一些时间。

另一种选择是这个快速查询:

fast://*[@__Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%' or @__Final Renderings='%{FAAD00AE-A089-4AEF-989C-73917660FF48}%']

这可以在开发人员中心的 Tools > 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}%']"

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

于 2014-06-18T16:25:13.537 回答