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
