2016-09-06 1 views
1

블로그 게시물 목록이 에 있습니다. 과수원 CMS. 내 코드 :Orchard CMS에 블로그 게시물을 연결 하시겠습니까?

@{ 
    IEnumerable<object> 
    blogPosts = Model.ContentItems; 
    Model.ContentItems.Classes.Add("content-items"); 
    Model.ContentItems.Classes.Add("blog-posts"); 
} 

<div class="row"> 
    @foreach (var item in blogPosts) 
    { 
     <div class="col-md-4 col-sm-6"> 
      <div> 
       <div class="blog-seg post-item seg"> 
        <div>@Display(item)</div> 
       </div> 
      </div> 
     </div> 
    } 
</div> 

DIV에 게시물에 대한 링크가 있기를 원합니다. 어떻게해야합니까?

+1

사용'@ Html.ItemDisplayLink (항목)' – Xceno

+0

는이 오류가 : 'System.Web.Mvc.HtmlHelper '에 'ItemDisplayLink'에 대한 정의가없고 가장 좋은 예 tension 메서드 오버로드 'Orchard.Mvc.Html.ContentItemExtensions.ItemDisplayLink (System.Web.Mvc.HtmlHelper, Orchard.ContentManagement.IContent)'에 잘못된 인수가 있습니다. – balouchi

답변

2

를 사용하여 콘텐츠 항목에 대한 링크를 표시하려면 다음

@using Orchard.ContentManagement; 

@{ 
    IEnumerable<dynamic> 
     blogPosts = Model.ContentItems.ContentItems; 
    Model.ContentItems.Classes.Add("content-items"); 
    Model.ContentItems.Classes.Add("blog-posts"); 
} 

<div class="row"> 
    @foreach (var item in blogPosts) { 
     <div class="col-md-4 col-sm-6"> 
      <div> 
       <div class="blog-seg post-item seg"> 
        <div> 
         @Html.ItemDisplayLink(item.ContentItem as IContent) 
        </div> 
       </div> 
      </div> 
     </div> 
    } 
</div> 
+0

오류가 있습니다. 'System.Web.Mvc.HtmlHelper ' 'ItemDisplayLink'및 최상의 확장 메서드 오버로드에 대한 정의가 없습니다. 'Orchard.Mvc.Html.ContentItemExtensions.ItemDisplayLink (System.Web.Mvc.HtmlHelper, Orchard.ContentManagement.IContent)'에 잘못된 인수가 있습니다. – balouchi

+0

동일한 오류가 있습니다. 및 ContentItem을 찾을 수 없습니다. – balouchi

+0

이 오류가 있습니다. 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. – balouchi

0
@using Orchard.ContentManagement; 
@{ 
IEnumerable<dynamic> 
    blogPosts = Model.ContentItems; 
Model.ContentItems.Classes.Add("content-items"); 
Model.ContentItems.Classes.Add("blog-posts"); 

}

<div class="row"> 
@foreach (var item in blogPosts) 
{ 
    IContent contentItem = item.ContentItem; 
    var metadata = contentItem.ContentItem.ContentManager.GetItemMetadata(contentItem); 
    string alias = metadata.Identity.Get("alias"); 

    <div class="col-md-4 col-sm-6"> 
     <div> 
      <div class="blog-seg post-item seg"> 
       <a href="~/@alias" style="display:block;">@Display(item)</a> 
      </div> 
     </div> 
    </div> 
}