2017-09-12 1 views
0

イムに1ページからプロパティを取得し、私はマスターページを持っているHEADER & FOOTERUmbraco 7は - 私はPartialviews を持ってインサイド - - 7</p> <p>をumbracoする新しい別の

私は、マスターページからinherites 2つのサブページを持っています - インサイドHOME PAGE & STANDARD PAGE

HOME PAGE - Document Type私はReleted LinksプロパティのコードがPartialview内にある

Links

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 
@using Newtonsoft.Json.Linq 

@{ 
    if (Model.Content.HasValue("externalLinks") && Model.Content.GetPropertyValue<string>("externalLinks").Length > 2) 
    { 
     <ul> 
      @foreach (var item in Model.Content.GetPropertyValue<JArray>("externalLinks")) 
      { 
       var linkTarget = item.Value<bool>("newWindow") ? "_blank" : null; 

       if (Model.Content.GetPropertyValue<JArray>("externalLinks").First() == item) 
       { 
        <li> 
         <a href="@(item.Value<string>("link"))" target="@linkTarget"> <i class="fa fa-phone" aria-hidden="true"></i> @(item.Value<string>("caption"))</a> 
        </li> 
       } 
       else 
       { 
        <li> 
         <a href="@(item.Value<string>("link"))" target="@linkTarget"> <i class="fa fa-flag" aria-hidden="true"></i> @(item.Value<string>("caption"))</a> 
        </li> 
       } 
      } 
     </ul> 
    } 
} 

と呼ばReletad LinksプロパティLINKS partialviewがHEADER partialview

の内側にロードされているを持っています10

HOME PAGEに移動するとき、コードが正常に動作しているが、私はSTANDARD PAGEに行く場合は、Reletad Linksプロパティはありませんloger表示されます。

これを解決するにはどうすればよいですか。あなたは、私はそれを説明するためにPartialViewにコードのビットを追加しましたホームページ

を参照したいと思うの代わりに(Model.Content経由)現在のページを参照の

答えて

0

は、

かかわらず、それをテストしていません
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 
@using Newtonsoft.Json.Linq 

@{ 
    // First get the homepage by traversing the Umbraco tree and searching for the homepage node 
    var homepage = Umbraco.TypedContentAtRoot().First().DescendantsOrSelf().FirstOrDefault(x => x.DocumentTypeAlias == "home"); 
    if (homepage != null && homepage.HasValue("externalLinks") && homepage.GetPropertyValue<string>("externalLinks").Length > 2) 
    { 
     <ul> 
      @{ 
       var externalLinks = homepage.GetPropertyValue<JArray>("externalLinks"); 
       foreach (var item in externalLinks) 
       { 
        var linkTarget = item.Value<bool>("newWindow") ? "_blank" : null; 

        if (externalLinks.First() == item) 
        { 
         <li> 
          <a href="@(item.Value<string>("link"))" target="@linkTarget"> <i class="fa fa-phone" aria-hidden="true"></i> @(item.Value<string>("caption"))</a> 
         </li> 
        } 
        else 
        { 
         <li> 
          <a href="@(item.Value<string>("link"))" target="@linkTarget"> <i class="fa fa-flag" aria-hidden="true"></i> @(item.Value<string>("caption"))</a> 
         </li> 
        } 
       } 
      } 
     </ul> 
    } 
} 
+0

ありがとうございました それは素晴らしい – Jonas

関連する問題