Zoeken…


Opmerkingen

Sjabloonnamen versus sjabloon-ID's versus itemnamen in zoekopdrachten:

Ik raad u ten zeerste aan sjabloon-id's te gebruiken en niet sjabloonnamen of itemnamen in uw query's. Dit zorgt ervoor dat uw vragen nog steeds werken, zelfs wanneer sjablonen en / of items worden hernoemd.

De enige uitzondering hierop is wanneer u met OOTB-sjablonen werkt, terwijl u een OOTB-structuur /sitecore/content , bijvoorbeeld /sitecore/content of /sitecore/system/Marketing Control Panel . In deze situaties is het verlies van leesbaarheid vaak groter dan het risico dat vragen worden afgebroken, omdat deze sjablonen veel minder waarschijnlijk worden hernoemd.

Merk op dat sjabloonnamen in mijn voorbeelden hierboven werden gebruikt omwille van de leesbaarheid. Die query's mogen niet in de productie worden gebruikt, tenzij de sjabloonnamen worden vervangen door sjabloon-ID's.

Referentie blad:

Ik heb gemerkt dat het cheatsheet van Sitecore Query niet langer beschikbaar is om te downloaden op het web (alle door Sitecore gehoste links verwijzen nu naar 404 pagina's). Gelukkig had ik een kopie op mijn machine en heb ik hieronder een screenshot toegevoegd:

Sitecore-cheatsheet voor zoekopdrachten

Selecteer op itempad

Query:

query:/sitecore/content/home/foo/bar

Resultaat

bar

Relatieve zoekopdracht

Huidig item:

bar (path: /sitecore/content/home/foo/bar)

Query:

query:./child/grandchild

Resultaat:

grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)

Itemattributenquery

Query:

query:/sitecore/content/[@@templatename='Homepage']

Resultaat:

home (name: home, path: /sitecore/content/home, template name: Homepage)

Sitespecifieke zoekopdracht

Boom structuur:

/sitecore
    /content
        /foo-site
            /home
                /my-account
        /bar-site
            /home
                /my-account
        /baz-site
            /home
                /my-account
  • De sjabloon van elk site-item ( foo-site , bar-site , baz-site ) heeft de naam Site Node .
  • De sjabloon van elk thuisitem ( home , home , home ) wordt Homepage genoemd
  • De sjabloon van elk gebruikersaccountitem ( my-account , my-account , my-account ) heeft de naam User Account Page

Huidig item:

Het huidige item kan het home of een pagina onder het home voor een van de gegeven sites, en deze zoekopdracht werkt nog steeds (op voorwaarde dat er geen items met het Homepage onder de home zijn die een voorouder zijn van de huidige item).

Query:

query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']

Resultaat:

Als het opvragen van het home voorwerp of een van zijn nakomelingen in de foo-site website:

/sitecore/content/foo-site/home/my-account

Als het opvragen van het home voorwerp of een van zijn nakomelingen in de bar-site plaatse:

/sitecore/content/bar-site/home/my-account

Als het opvragen van het home voorwerp of een van zijn nakomelingen in de baz-site website:

/sitecore/content/baz-site/home/my-account


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow