2013-03-05 42 views
6

Trên trang tóm tắt blog-một trang liệt kê các bài đăng trên blog của bạn- Tôi có thể làm với việc hiển thị thêm một chút văn bản từ mỗi bài đăng trên blog.Tóm tắt Blog Orchard Văn bản

Điều này có khả thi không? Tôi không thể nhìn thấy nó ở bất cứ đâu trong cài đặt và vì một số lý do truy tìm hình dạng không cho phép tôi xem mẫu là gì.

Trả lời

4

Thông qua việc đọc bài đăng khác, tôi thấy rằng chế độ xem chịu trách nhiệm cho điều này là Parts_Common_Body_Summary. Vì vậy, tôi sao chép này từ lõi/thư mục chung của vườn cây ăn quả và sao chép nó qua chủ đề của tôi xem thư mục, trước khi đổi tên nó để Parts_Blog_Summary

sau đó tôi thiết lập một quy tắc cho điều này trong Placement.info như sau :

<Match ContentType="BlogPost"> 
<Match DisplayType="Summary"> 
     <Place Parts_Common_Body_Summary="Content:after;Alternate=Parts_Blog_Summary"/> 
</Match>  
</Match> 

này chỉ để lại cho tôi nhiệm vụ làm thay đổi chiều dài chuỗi trong giao diện thay thế mới:

var body = new HtmlString(Html.Excerpt(bodyHtml, 350).ToString().Replace(Environment.NewLine, "</p>" + Environment.NewLine + "<p>")); 
5

tôi cần phải làm điều tương tự gần đây trên Orchar d v1.6. Bạn đang sử dụng hình dạng truy tìm để bạn đi đúng hướng. orchard documentation for alternatesplacement bao gồm điều này. Có một ví dụ điển hình về loại sửa đổi này trên Tony Johnson's Argument Exception Blog.

Theo câu trả lời của Phil, bạn cần phải sửa đổi vị trí.info trong chủ đề hiện tại của bạn để sử dụng chế độ xem thay thế như vậy;

<Match ContentType="BlogPost"> 
<Match DisplayType="Summary"> 
    <Place Parts_Common_Body_Summary="Content:5;Alternate=Parts_BlogPostSummaryBody"/> 
</Match> 
</Match> 

Sau đó thêm phần thay thế có tên "Content-BlogPost.Summary.cshtml" vào thư mục xem chủ đề của bạn;

@using Orchard.ContentManagement.ViewModels 
@using Orchard.ContentManagement 
@using Orchard.Core.Common.Models 

@{  
ContentItem item = Model.ContentItem; 
string title = Model.Title.ToString(); 
BodyPart bpItem = item.As<BodyPart>(); 
string linkUrl = Url.ItemDisplayUrl(item); 
} 

<h4>@Html.ItemDisplayLink(title, item)</h4> 
<div class="publishinfo">@Model.ContentItem.CommonPart.PublishedUtc by @Model.ContentItem.CommonPart.Owner.UserName</div> 
     <div> 
    <p>@Html.Raw(@bpItem.Text)</p> 
</div> 
Các vấn đề liên quan