sitecore
Składnia zapytania Sitecore
Szukaj…
Uwagi
Nazwy szablonów a identyfikatory szablonów a nazwy elementów w zapytaniach:
Zdecydowanie zalecamy używanie w zapytaniach identyfikatorów szablonów, a nie nazw szablonów ani nazw przedmiotów . Zapewni to, że Twoje zapytania będą nadal działać, nawet jeśli nazwy szablonów i / lub elementów zostaną zmienione.
Jedynym wyjątkiem jest praca z szablonami OOTB podczas zapytania o strukturę OOTB, np. /sitecore/content
lub /sitecore/system/Marketing Control Panel
. W takich sytuacjach utrata czytelności jest często większa niż ryzyko przerwania zapytań, ponieważ nazwy szablonów znacznie rzadziej ulegają zmianie.
Zwróć uwagę, że nazwy szablonów zostały użyte w moich przykładach powyżej, ze względu na czytelność. Te zapytania nie powinny być wykorzystywane w produkcji, chyba że nazwy szablonów zostaną zastąpione identyfikatorami szablonów.
Arkusz referencyjny:
Zauważyłem, że ściągawka z zapytaniem Sitecore nie jest już dostępna do pobrania w Internecie (wszystkie linki obsługiwane przez Sitecore przekierowują teraz na 404 strony). Na szczęście miałem kopię na swoim komputerze i dodałem zrzut ekranu poniżej:
Wybierz według ścieżki elementu
Pytanie:
query:/sitecore/content/home/foo/bar
Wynik
bar
Względne zapytanie
Aktualny przedmiot:
bar (path: /sitecore/content/home/foo/bar)
Pytanie:
query:./child/grandchild
Wynik:
grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)
Zapytanie o atrybuty elementu
Pytanie:
query:/sitecore/content/[@@templatename='Homepage']
Wynik:
home (name: home, path: /sitecore/content/home, template name: Homepage)
Zapytanie specyficzne dla witryny
Struktura drzewa:
/sitecore
/content
/foo-site
/home
/my-account
/bar-site
/home
/my-account
/baz-site
/home
/my-account
- Szablon każdego elementu witryny (
foo-site
,bar-site
,baz-site
) nosi nazwęSite Node
. - Szablon każdego elementu domowego (
home
,home
,home
) nosi nazwęHomepage
- Szablon każdego elementu konta użytkownika (
my-account
,my-account
,my-account
) nosi nazwęUser Account Page
Aktualny przedmiot:
Obecna pozycja może być home
element lub dowolną stronę pod home
sprzęcie dla każdego z podanych stron, a ta kwerenda będzie nadal działać (pod warunkiem, że nie ma żadnych przedmiotów ze Homepage
szablonu pod spodem home
przedmiotów, które są przodkiem prądu pozycja).
Pytanie:
query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']
Wynik:
W przypadku zapytania z przedmiotu home
lub jednego z jego potomków w foo-site
site:
/sitecore/content/foo-site/home/my-account
Jeśli zapytanie dotyczy elementu home
lub jednego z jego potomków w bar-site
site:
/sitecore/content/bar-site/home/my-account
W przypadku zapytania z elementu home
lub jednego z jego potomków w baz-site
site:
/sitecore/content/baz-site/home/my-account