sitecore
Sintassi della query Sitecore
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:
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
) è denominatoSite Node
. - Il modello di ogni oggetto domestico (
home
,home
,home
) è denominatoHomepage
- Il modello di ciascun elemento del conto utente (
my-account
,my-account
,my-account
) è denominatoUser 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