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]