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:

Sitecore-Abfrage-Spickzettel

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 als Homepage
  • Die Vorlage jedes Benutzerkontenelements ( my-account , my-account , my-account ) wird als User 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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow