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:

Sitecore Query Cheat Sheet

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 ) heter Site Node .
  • Mallen för varje hemartikel ( home , home , home ) heter Homepage
  • Mallen för varje användarkontopost ( my-account , my-account , my-account ) heter User 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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow