Trong bộ khởi động bằng cách sử dụng trình xây dựng xpath, làm cách nào để nhận tất cả các mục kế thừa từ mẫu 'Site Section' trong mục Trang chủ?Lấy các mục bằng cách sử dụng truy vấn sitecore
Khi tôi chạy như sau:
/sitecore/content/home/*[@@templatekey='product section']
một mục được trở /sitecore/content/Home/Products
có ý nghĩa, tuy nhiên, sau đây không trả lại bất cứ điều gì:
/sitecore/content/home/*[@@templatekey='site section']
Những gì tôi đang cố gắng làm là xây dựng một menu từ các mục kế thừa mẫu 'Site Section' bằng cách sử dụng điều khiển web asp.net thay vì xslt.
Bất kỳ ý tưởng nào?
Cảm ơn, Tarek
** CẬP NHẬT
Cung cấp thông tin thêm về câu hỏi:
mục /sitecore/content/Home/Products
có mẫu /sitecore/templates/Starter Kit/Site Sections/Product Section
trong đó có một mẫu cơ sở của /sitecore/templates/Starter Kit/Item Types/Site Section
Nếu tôi muốn các Sản phẩm và Tài liệu tham khảo (tương tự Sản phẩm) trong Trang chủ Tôi sẽ chạy truy vấn sau :
/sitecore/content/home/*[@@templatekey='product section' or @@templatekey='references section']
Có cách nào để tải mục trong Trang chủ có Phần trang web làm mẫu cơ sở không. Trong xslt có một phương thức sc:GetItemsOfType('site section',$home/item)
.
** trả lời
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);
}
Cảm ơn, đánh giá cao những chi tiết, nhưng mã cũng giống như chạy truy vấn:/Sitecore/content/home/* [@@ templatekey = 'phần sản phẩm'] Nó không chọn lên các mẫu cơ sở của phần sản phẩm phải là phần trang web. –