Sitecore Fast Query选择属性值

时间:2013-10-17 13:47:36

标签: sitecore sitecore6

有没有办法在Sitecore Shell(快速查询界面)内的开发人员中心下使用XPath Builder从项目中选择特定属性。例如:

/sitecore/content/Home/Products/*[@@templatename = 'Product Group']/@id

我希望能够返回 id 的集合,其中id是项目的属性。如果是,是否可以使用空格键提取属性?例如:

/sitecore/content/Home/Products/*[@@templatename = 'Product Group']/@more info

修改 我想要实现的是获取一组项目(我这里有很少的项目),而不是一个特定的项目。这就是为什么我不想添加其他条件,如特定项目ID或标题。我想查看特定属性的值集合。如上面的示例所示,我希望看到分配给“more info”属性的值集合。我再次期待看到几个被设置为“更多信息”属性的不同值。

EDIT2 生产是一个问题,一个关键的东西。除了Sitecore shell之外无法访问它,但我没有权限添加/安装其他软件包。我知道如何通过实现自定义代码或直接对db进行编码来获取此信息,但我根本没有权限这样做。那些能够授予我需要证书的人会在6个小时内醒来,所以我希望尽我所能来分析情况。我会接受Maras的答案,如果它是一个答案而不是评论 - 我无法使用快速查询来做到这一点。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

尝试使用

/sitecore/content/Home/Products/*[@@templatename = 'Product Group']/@#more info#

这是选择包含空格的字段的方法。话虽如此,我不知道你是否能够针对具体问题得到具体结果,但试试看。

例如,请考虑返回Product S1的查询

fast:/sitecore/content/home/*[@Title = 'Item 1' and @@templatename = 'Product Group1']//*[@Title = 'Product S1' and @@id = '{787EE6C5-0885-495D-855E-1D129C643E55}']

但是,如果在条件的开头放置特殊属性(即@@ id),查询将不会返回结果。

fast:/sitecore/content/home/*[@@templatename = 'Product Group1' and @Title = 'Product S1']//*[@@id = '{787EE6C5-0885-495D-855E-1D129C643E55}' and @Title = 'Product S1']

请记住这一点,Sitecore Fast Query仅支持以下特殊属性:

  • @@ id
  • @@ name
  • @@ key
  • @@ templateid
  • @@ templatename
  • @@ templatekey
  • @@ masterid
  • @@ parentId的

如果有帮助,请告诉我们。