2013-10-17 88 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