Razor を使用した Sitecore ソリューションには、このかなり単純なサイトマップがあります。
@{
var root = Sitecore.Context.Database.GetItem(myRootId);
<div class="sitemap">
@RecursiveSitemap(root)
</div>
}
@helper RecursiveSitemap(Item parentItem){
<ul>
@{
Sitecore.Collections.ChildList childList = parentItem.Children;
foreach (Item child in childList)
{
<li><a href="@Sitecore.Links.LinkManager.GetItemUrl(child)">@child["title"]</a></li>
if (child.Children.Count != 0)
{
RecursiveSitemap(child);
}
}
}
</ul>
}
期待どおりに最初のレベルを返しますが、それ以上は返しません。理由がわかりません - 何が足りないのですか?