Buscar..


Observaciones

Nombres de plantillas frente a identificadores de plantillas frente a nombres de elementos en consultas:

Recomiendo encarecidamente que utilice los ID de plantilla y no los nombres de plantillas o nombres de elementos en sus consultas. Esto asegurará que sus consultas seguirán funcionando, incluso cuando se renombren las plantillas y / o los elementos.

La única excepción a esto es cuando se trabaja con plantillas OOTB, mientras se consulta una estructura OOTB, por ejemplo, /sitecore/content o /sitecore/system/Marketing Control Panel . En estas situaciones, la pérdida de legibilidad es a menudo mayor que el riesgo de ruptura de consultas, ya que es mucho menos probable que se cambie el nombre de estas plantillas.

Tenga en cuenta que los nombres de las plantillas se usaron en mis ejemplos, arriba, por motivos de lectura. Esas consultas no deben usarse en producción, a menos que los nombres de las plantillas se reemplacen con los ID de plantilla.

Hoja de referencia:

Noté que la hoja de referencia de Sitecore Query ya no está disponible para descargar en la web (todos los enlaces alojados en Sitecore ahora se redirigen a 404 páginas). Afortunadamente, tenía una copia en mi máquina, y he añadido una captura de pantalla, a continuación:

Hoja de trucos de Sitecore Query

Seleccionar por ruta de elemento

Consulta:

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

Resultado

bar

Consulta relativa

Elemento actual:

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

Consulta:

query:./child/grandchild

Resultado:

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

Consulta de atributos de artículo

Consulta:

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

Resultado:

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

Consulta específica del sitio

Estructura de árbol:

/sitecore
    /content
        /foo-site
            /home
                /my-account
        /bar-site
            /home
                /my-account
        /baz-site
            /home
                /my-account
  • La plantilla de cada elemento del sitio ( foo-site , bar-site , baz-site ) se denomina Site Node .
  • La plantilla de cada elemento de inicio ( home , home , home ) se llama Homepage
  • La plantilla de cada elemento de cuenta de usuario ( my-account , my-account , my-account ) se denomina User Account Page

Elemento actual:

El elemento actual podría ser el elemento de home o cualquier página debajo del elemento de home para cualquiera de los sitios dados, y esta consulta seguirá funcionando (siempre que no haya elementos con la plantilla de la Homepage debajo de los elementos de home que son un antepasado de la actual ít).

Consulta:

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

Resultado:

Si consulta desde el elemento de home o uno de sus descendientes en el foo-site site:

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

Si realiza consultas desde el elemento de home o uno de sus descendientes en el bar-site sitio de bar-site :

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

Si realiza consultas desde el elemento de home o uno de sus descendientes en el baz-site site:

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow