Recherche…


Remarques

Noms de modèles vs ID de modèles vs noms d'articles dans les requêtes:

Je vous recommande fortement d' utiliser les ID de modèle et non les noms de modèles ou les noms d'éléments dans vos requêtes. Cela garantira que vos requêtes fonctionnent toujours, même lorsque les modèles et / ou les éléments sont renommés.

La seule exception à cela est l'utilisation de modèles OOTB, lors de l'interrogation d'une structure OOTB, par exemple /sitecore/content ou /sitecore/system/Marketing Control Panel . Dans ces situations, la perte de lisibilité est souvent plus grande que le risque de rupture des requêtes, car ces modèles sont beaucoup moins susceptibles d'être renommés.

Notez que les noms de modèles ont été utilisés dans mes exemples, ci-dessus, pour des raisons de lecture. Ces requêtes ne doivent pas être utilisées en production, à moins que les noms de modèles ne soient remplacés par des ID de modèle.

Fiche de référence:

J'ai remarqué que le Aide-mémoire Sitecore Query n'est plus disponible au téléchargement sur le Web (tous les liens hébergés sur Sitecore sont désormais redirigés vers 404 pages). Heureusement, j'avais une copie sur ma machine et j'ai ajouté une capture d'écran ci-dessous:

Sitecore Query Cheat Sheet

Sélectionner par chemin de l'article

Question:

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

Résultat

bar

Requête relative

Article courant:

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

Question:

query:./child/grandchild

Résultat:

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

Requête d'attributs d'article

Question:

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

Résultat:

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

Requête spécifique au site

Structure de l'arbre:

/sitecore
    /content
        /foo-site
            /home
                /my-account
        /bar-site
            /home
                /my-account
        /baz-site
            /home
                /my-account
  • Le modèle de chaque élément du site ( foo-site , bar-site , baz-site ) est nommé Site Node .
  • Le modèle de chaque élément de la maison ( la home , la home , la home ) est nommé Homepage d' Homepage
  • Le modèle de chaque élément de compte d'utilisateur ( my-account , my-account , my-account ) est nommé User Account Page

Article courant:

L'élément actuel pourrait être l'élément d' home ou n'importe quelle page sous l'élément d' home pour l'un des sites donnés, et cette requête fonctionnera toujours (à condition qu'il n'y ait aucun élément avec le modèle de Homepage sous les éléments d' home article).

Question:

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

Résultat:

En cas d'interrogation à partir de l'élément d' home ou de l'un de ses descendants sur le foo-site site:

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

Si vous effectuez une requête à partir de l'élément d' home ou de l'un de ses descendants sur le bar-site site:

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

En cas d'interrogation depuis l'élément d' home ou l'un de ses descendants sur le baz-site site:

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow