2013-10-17 85 views
1

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

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

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

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

编辑 ,我想实现的事情是让项目的集合(我这里有几个追逐项目),而不是一个特定的项目。这就是为什么我不想添加其他条件,如特定的项目ID或标题。我想查看特定属性值的集合。如上例所示,我想查看分配给“更多信息”属性的值的集合。我再一次期待看到几个被设置为“更多信息”属性的不同值。

EDIT2 生产中存在一个问题,一个关键的问题。除了通过Sitecore外壳以外,没有其他访问权限,但我没有权限添加/安装其他软件包。我知道如何通过实现自定义代码或直接对数据库进行排队来获得这些信息,但我根本没有权限去做。那些能够授予我需要凭证的人会在6个小时内醒来,所以我希望尽我所能分析情况。我会接受马拉斯的答案,如果这不是一个评论的答案 - 我不能使用快速查询来做到这一点。感谢帮助。

+1

您只能检索物品。没有办法获得属性 –

+0

这是你试图在代码中实现的东西,还是只在你的Sitecore浏览器客户端获得一些结果?如果它在浏览器客户端,可能会给Sitecore Rocks一个尝试。它具有搜索功能,可以帮助您获得特定的结果。 – Shriroop

回答

3

尝试使用

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

这是正路选择周围用包含空格的字段的项目时。话虽如此,我不知道你是否能够针对你的具体问题得到一个具体的结果,但不妨尝试一下。

例如,请考虑此查询返回产品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的快速查询仅支持以下特殊属性:

  • @@ ID
  • @@名
  • @@关键
  • @@ templateid
  • @@ templatename
  • @@ templatekey
  • @@ masterid
  • @@的parentid

让我们知道这会有所帮助。

+1

我仍然收到“类型不匹配”异常,我的理解是,我无法使用快速查询请求属性。 –

+0

阅读更新的答案。希望能帮助到你。 – Shriroop