sitecore
Sitecore-fråga syntax
Sök…
Anmärkningar
Mallnamn kontra mall-ID kontra artikelnamn i frågor:
Jag rekommenderar starkt att du använder mall-ID och inte mallnamn eller artikelnamn i dina frågor. Detta kommer att säkerställa att dina frågor fortfarande fungerar, även när mallar och / eller objekt byts om.
Ett undantag från detta är när du arbetar med OOTB-mallar, medan du frågar en OOTB-struktur, t.ex. /sitecore/content
eller /sitecore/system/Marketing Control Panel
. I dessa situationer är förlusten av läsbarhet ofta större än risken för att frågor går sönder, eftersom dessa mallar är mycket mindre benägna att byta namn.
Observera att mallnamn användes i mina exempel ovan för läsbarhetens skull. Dessa frågor bör inte användas i produktionen, om inte mallnamnen ersätts med mall-ID: er.
Referensblad:
Jag märkte att Sitecore Query Cheat Sheet inte längre är tillgängligt för nedladdning på webben (alla Sitecore-värdlänkar omdirigeras nu till 404 sidor). Lyckligtvis hade jag en kopia på min maskin och har lagt till en skärmdump nedan:
Välj efter artikelväg
Fråga:
query:/sitecore/content/home/foo/bar
Resultat
bar
Relativ fråga
Nuvarande artikel:
bar (path: /sitecore/content/home/foo/bar)
Fråga:
query:./child/grandchild
Resultat:
grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)
Objekt attributfråga
Fråga:
query:/sitecore/content/[@@templatename='Homepage']
Resultat:
home (name: home, path: /sitecore/content/home, template name: Homepage)
Sidspecifik fråga
Trädstruktur:
/sitecore
/content
/foo-site
/home
/my-account
/bar-site
/home
/my-account
/baz-site
/home
/my-account
- Mallen för varje webbplatsobjekt (
foo-site
,bar-site
,baz-site
) heterSite Node
. - Mallen för varje hemartikel (
home
,home
,home
) heterHomepage
- Mallen för varje användarkontopost (
my-account
,my-account
,my-account
) heterUser Account Page
Nuvarande artikel:
Det aktuella objektet kan vara home
objekt eller en sida under home
posten för någon av de givna platser, och denna fråga kommer fortfarande att fungera (förutsatt att det inte finns några objekt med Homepage
mall nedanför home
objekt som är en förfader till den nuvarande Artikel).
Fråga:
query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']
Resultat:
Om förfrågning från home
posten eller någon av dess ättlingar i foo-site
site:
/sitecore/content/foo-site/home/my-account
Om förfrågning från home
posten eller någon av dess ättlingar i bar-site
site:
/sitecore/content/bar-site/home/my-account
Om förfrågning från home
posten eller någon av dess ättlingar i baz-site
site:
/sitecore/content/baz-site/home/my-account