En el kit de inicio que usa el constructor xpath, ¿cómo obtengo todos los elementos que heredan de la plantilla 'Sección del sitio' en el elemento Inicio?Recuperar elementos utilizando la consulta de sitecore
Cuando ejecuto el siguiente:
/sitecore/content/home/*[@@templatekey='product section']
un artículo se devuelve /sitecore/content/Home/Products
lo cual tiene sentido, sin embargo, lo siguiente no devuelve nada:
/sitecore/content/home/*[@@templatekey='site section']
Lo que estoy tratando de hacer es crea un menú a partir de los elementos que heredan la plantilla 'Sección del sitio' utilizando el control web asp.net en lugar de xslt.
¿Alguna idea?
Gracias, Tarek
** ACTUALIZACIÓN
proporcionar más información sobre la cuestión:
artículo /sitecore/content/Home/Products
tiene plantilla /sitecore/templates/Starter Kit/Site Sections/Product Section
que cuenta con una plantilla de base de /sitecore/templates/Starter Kit/Item Types/Site Section
Si yo quiero los productos y referencias (similares a los productos) elementos en Inicio ejecutaría la siguiente consulta :
/sitecore/content/home/*[@@templatekey='product section' or @@templatekey='references section']
Hay una manera de obtener el elemento en Inicio que tiene la Sección del sitio como plantilla base. En xslt hay un método sc:GetItemsOfType('site section',$home/item)
que lo hace.
** respuesta
var homeItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
var siteSectionItems = new List<Item>();
foreach (Item item in homeItem.Children)
{
var itemTemplate = TemplateManager.GetTemplate(item);
if (itemTemplate.InheritsFrom("Site Section"))
siteSectionItems.Add(item);
}
Gracias, apreciar los detalles, pero el código es el mismo que ejecutar consulta:/Sitecore/contenido/home/* [@@ TEMPLATEKEY = 'sección de productos'] No es recoger el plantilla base de la sección del producto que debe ser la sección del sitio. –