xpathビルダーを使用するスターターキットでは、[ホーム]アイテムの[サイトセクション]テンプレートから継承するすべてのアイテムを取得するにはどうすればよいですか?sitecoreクエリを使用してアイテムを取得する
私は次のコマンドを実行します。
/sitecore/content/home/*[@@templatekey='product section']
つの項目が理にかなっている/sitecore/content/Home/Products
を返されたが、次は何も返しません:私は何をしようとしている
/sitecore/content/home/*[@@templatekey='site section']
ですxsltではなくasp.net Webコントロールを使用して 'Site Section'テンプレートを継承するアイテムからメニューを構築します。
アイデア?
おかげで、 タレク
** はUPDATE
は、質問に関する詳しい情報を提供します
項目/sitecore/content/Home/Products
は私がした場合/sitecore/templates/Starter Kit/Item Types/Site Section
の基本テンプレートを持つテンプレート/sitecore/templates/Starter Kit/Site Sections/Product Section
を持っていますホームの商品と商品(商品と似ています)の商品をご希望の場合は、次のクエリを実行します:
/sitecore/content/home/*[@@templatekey='product section' or @@templatekey='references section']
ベーステンプレートとしてサイトのセクションを持ってホームの下にアイテムを取得する方法はあります。 xsltには、それを行う方法sc:GetItemsOfType('site section',$home/item)
があります。
** 回答私はあなたがすることをお勧め何
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);
}
おかげで、詳細を感謝しますが、コードは、クエリを実行するのと同じですサイトセクションでなければならない製品セクションの基本テンプレート。 –