Ricerca…


Osservazioni

Nomi dei modelli e ID dei modelli rispetto ai nomi degli articoli nelle query:

Consiglio vivamente di utilizzare ID modello e non nomi di modelli o nomi oggetto nelle query. Ciò assicurerà che le tue query funzionino ancora, anche quando i modelli e / o gli articoli vengono rinominati.

L'unica eccezione a questo è quando si lavora con i modelli OOTB, mentre si esegue una query su una struttura OOTB, ad esempio /sitecore/content o /sitecore/system/Marketing Control Panel . In queste situazioni, la perdita di leggibilità è spesso maggiore del rischio di interruzione delle query, poiché questi modelli hanno molte meno probabilità di essere rinominati.

Si noti che i nomi dei modelli sono stati utilizzati nei miei esempi, sopra, per motivi di leggibilità. Tali query non dovrebbero essere utilizzate in produzione, a meno che i nomi dei modelli non vengano sostituiti con gli ID modello.

Foglio di riferimento:

Ho notato che Sitecore Query Cheat Sheet non è più disponibile per il download sul Web (tutti i link ospitati da Sitecore ora reindirizzano a 404 pagine). Fortunatamente, ho avuto una copia sul mio computer e ho aggiunto uno screenshot di seguito:

Foglio informativo di Sitecore Query

Seleziona per percorso dell'elemento

Query:

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

Risultato

bar

Query relativa

Articolo corrente:

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

Query:

query:./child/grandchild

Risultato:

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

Quota attributi dell'oggetto

Query:

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

Risultato:

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

Query specifica del sito

Struttura ad albero:

/sitecore
    /content
        /foo-site
            /home
                /my-account
        /bar-site
            /home
                /my-account
        /baz-site
            /home
                /my-account
  • Il modello di ciascun elemento del sito ( foo-site , bar-site , baz-site ) è denominato Site Node .
  • Il modello di ogni oggetto domestico ( home , home , home ) è denominato Homepage
  • Il modello di ciascun elemento del conto utente ( my-account , my-account , my-account ) è denominato User Account Page

Articolo corrente:

L'oggetto corrente potrebbe essere l'elemento home o qualsiasi pagina al di sotto dell'elemento home per uno qualsiasi dei siti specificati e questa query funzionerà ancora (a condizione che non ci siano articoli con il modello di Homepage sotto gli articoli home che sono un antenato dell'attuale articolo).

Query:

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

Risultato:

Se si esegue una query dall'elemento home o da uno dei suoi discendenti nel foo-site site:

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

Se si esegue una query dall'elemento home o da uno dei suoi discendenti nel bar-site sito di bar-site :

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

Se si esegue una query dall'elemento home o da uno dei suoi discendenti nel baz-site site:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow