2

EPiServer 7にメニューを実装する方法を理解しようとしています。利用可能な唯一のドキュメントは、使用していないWebフォームでこれを実行する方法を示しています。

これを行う方法について何かアドバイスはありますか?

ありがとう

4

1 に答える 1

4

誰かが私を打ち負かす前に解決策を書きました:)

@using EPiServer
@using EPiServer.Core
@using EPiServer.Filters
@using EPiServer.Web.Mvc.Html

<ul id="mainMenu">
        @{ 
            PageData startPage = ContentReference.StartPage.GetPage();
            PageDataCollection allChilds = DataFactory.Instance.GetChildren(((PageData)startPage).PageLink);
            IEnumerable<PageData> filteredChilds = FilterForVisitor.Filter(allChilds).Where(p => p.IsVisibleOnSite() && p.VisibleInMenu);
        }

        @foreach (PageData item in filteredChilds)
        {
            <li>
                <a href="/@item.URLSegment.ToString()">
                    @item.Name
                </a>
            </li>
        }
</ul>

GetPage は拡張メソッドです

public static PageData GetPage(this PageReference pageLink)
{
    return DataFactory.Instance.GetPage(pageLink);
}
于 2012-12-06T16:18:45.840 に答える