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:

Ściągawka do zapytań Sitecore

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow