Composite C1サイトの子ディレクトリにサブアプリケーション(YetAnotherForum.NET)があります。一貫したルックアンドフィールを維持するために、ナビゲーション要素のC1関数を取り込みたいと思います。
注:以下のコードのすべてのhtmlマークアップでは、ここに投稿できるように、角かっこが角かっこに置き換えられています。
次の構文を使用してC1関数を呼び出すことができることがわかりました。
[f:function ID = "Function1" name = "Custom.Layout.FooterLinks" runat = "server" /]
ただし、関数の背後にあるデータは利用できないようです。データの問題が何であるかについてのアイデアはありますか?おそらく、何らかの形式のコンポジットC1ページから継承するために外部ページが必要ですか?
関数コードは次のとおりです。
@using Composite.Data;
@using Composite.Data.Types;
@using Composite.Data.ProcessControlled.ProcessControllers.GenericPublishProcessController;
@using CompositeC1Contrib.RazorFunctions;
@inherits CompositeC1WebPage
@関数 {
プライベートIEnumerableFooterLinkPages()
{{
IEnumerableページ=DataFacade.GetData();
IEnumerable returnPages;
using(DataConnection connection = new DataConnection())
{{
returnPages =(connection.Get()のlから
l.Pageのページにpを結合してp.Idに等しい
ここで、l.PublicationStatus == GenericPublishProcessController.Published
&& p.PublicationStatus == GenericPublishProcessController.Published
orderby l.Position ascending
p).ToList();を選択します。
}
return returnPages;
}
}
[ul class = "unstyled"]
@foreach(FooterLinkPages()のIPageページ)
{{
[li] @(String.IsNullOrWhiteSpace(page.MenuTitle)?page.Title:page.MenuTitle)[/ a] [/ li]
}
[/ ul]