sitecore
Sitecore-syntaxis van zoekopdrachten
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:
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 naamSite Node
. - De sjabloon van elk thuisitem (
home
,home
,home
) wordtHomepage
genoemd - De sjabloon van elk gebruikersaccountitem (
my-account
,my-account
,my-account
) heeft de naamUser 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