2013-03-05 7 views
6

Auf der Blogzusammenfassungsseite - die, die Ihre Blogposts auflistet - könnte ich mit etwas mehr Text von jedem Blogpost sichtbar sein.Orchard Blog Zusammenfassung Text

Ist das möglich? Ich kann es nirgendwo in den Einstellungen sehen und aus irgendeinem Grund Shape Tracing nicht lassen Sie mich sehen, was die Vorlage dafür ist.

Antwort

4

Durch Lesen eines anderen Beitrags fand ich, dass die dafür verantwortliche Ansicht Parts_Common_Body_Summary war. So kopierte ich das aus dem Kern/gemeinsamen Ordner von Obstgarten und kopiert es in meiner Themen sehen Ordner, bevor es zu Parts_Blog_Summary Umbenennung

ich dann Set-up eine Regel für diese in Placement.info wie folgt :

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

das hat mir nur die Aufgabe in der neuen alternativen Ansicht, die die Stringlänge zu verändern:

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

ich auf orchar die gleiche Sache vor kurzem tun musste d v1.6. Sie verwenden die Formverfolgung, damit Sie in die richtige Richtung gehen. Die orchard documentation for alternates und placement decken dies ab. Es gibt ein gutes Beispiel für diese Art von Modifikation auf Tony Johnson's Argument Exception Blog.

Laut Phils Antwort müssen Sie die placement.info in Ihrem aktuellen Design ändern, um eine alternative Ansicht zu verwenden.

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

Und fügen Sie dann einen anderen Teil Ihres Themas Ansicht Ordner mit dem Namen „Content-BlogPost.Summary.cshtml“ in;

@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>