sitecore
Sitecore-Abfragesyntax
Suche…
Bemerkungen
Vorlagennamen vs. Vorlagen-IDs vs. Elementnamen in Abfragen:
Ich empfehle Ihnen dringend, in Ihren Abfragen Vorlagen-IDs und keine Vorlagen- oder Elementnamen zu verwenden . Dadurch wird sichergestellt, dass Ihre Abfragen auch dann funktionieren, wenn Vorlagen und / oder Elemente umbenannt werden.
Eine Ausnahme hiervon besteht beim Arbeiten mit OOTB-Vorlagen und beim Abfragen einer OOTB-Struktur, z. B. /sitecore/content oder /sitecore/system/Marketing Control Panel . In diesen Situationen ist der Lesbarkeitsverlust oft größer als das Risiko, dass Abfragen brechen, da die Wahrscheinlichkeit, dass diese Vorlagen umbenannt werden, viel geringer ist.
Beachten Sie, dass in den obigen Beispielen zur besseren Lesbarkeit Schablonennamen verwendet wurden. Diese Abfragen sollten in der Produktion nicht verwendet werden, es sei denn, die Namen der Vorlagen werden durch Vorlagen-IDs ersetzt.
Referenzblatt:
Mir ist aufgefallen, dass das Sitecore Query Cheat Sheet nicht mehr zum Download im Web verfügbar ist (alle Sitecore-gehosteten Links werden jetzt auf 404 Seiten umgeleitet). Zum Glück hatte ich eine Kopie auf meinem Rechner und habe unten einen Screenshot hinzugefügt:
Wählen Sie nach Artikelpfad
Abfrage:
query:/sitecore/content/home/foo/bar
Ergebnis
bar
Relative Abfrage
Aktueller Gegenstand:
bar (path: /sitecore/content/home/foo/bar)
Abfrage:
query:./child/grandchild
Ergebnis:
grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)
Artikelattribute abfragen
Abfrage:
query:/sitecore/content/[@@templatename='Homepage']
Ergebnis:
home (name: home, path: /sitecore/content/home, template name: Homepage)
Standortspezifische Abfrage
Baumstruktur:
/sitecore
/content
/foo-site
/home
/my-account
/bar-site
/home
/my-account
/baz-site
/home
/my-account
- Die Vorlage jedes Site-Elements (
foo-site,bar-site,baz-site) trägt den Namen "Site Node. - Die Vorlage jedes Heimgegenstands (
home,home,home) wird alsHomepage - Die Vorlage jedes Benutzerkontenelements (
my-account,my-account,my-account) wird alsUser Account Page
Aktueller Gegenstand:
Das aktuelle Element kann das home Element oder eine beliebige Seite unter dem home Element für eine der angegebenen Websites sein. Diese Abfrage funktioniert weiterhin (vorausgesetzt, es befinden sich keine Elemente mit der Homepage Vorlage unter den home Elementen, die einen Vorfahren des aktuellen Objekts sind Artikel).
Abfrage:
query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']
Ergebnis:
Wenn Sie vom home Objekt oder einem seiner Nachkommen auf der foo-site der foo-site abfragen:
/sitecore/content/foo-site/home/my-account
Wenn Sie vom home Element oder einem seiner Nachkommen auf der bar-site abfragen:
/sitecore/content/bar-site/home/my-account
Wenn Sie vom home Objekt oder einem seiner Nachkommen auf der baz-site abfragen:
/sitecore/content/baz-site/home/my-account
