果园CMS最近的博客文章窗口小部件替代视图



我是果园CMS和MVC的新手,所以请原谅我的无知。我已经进行了搜索,没有发现任何显然相关的..

在我的果园网站上的页脚四边形区域之一中,我想显示5个最新的博客文章,只是标题。目前,它显示了标题,帖子,标签等,所有这些都处于其未格式化状态(Ive尚未样式博客)。

使用我创建了一个称为替代视图的跟踪工具;

Parts.Blogs.RecentBlogPosts

但是,此视图中唯一的内容是

@Display(Model.ContentItems)

哪个 - 不像其他安装的小部件IVE编辑的替代视图,没有给我任何东西来创建我需要创建的布局。

我是否选择了错误的形状/视图,还是需要陷入某些编码?

正如我所说,我是MVC和Orchard的新手,但非常渴望学习。一如既往地,对此的任何帮助将不胜感激。

我在尝试将最近的博客文章布局与博客摘要帖子区分开来时遇到了完全相同的问题。我遵循了这个概念

http://weblogs.asp.net/bleroy/archive/2011/07/31/so-you-don-t-want-t-want-to-use-placement-info.aspx

并创建了parts.blogs.recentblogposts替代。然后,在使用形状跟踪工具在模型中导航时,我发现了我正在寻找的所有元素,并将它们放在我的新形状中。我知道我的方法可能不是最合适的方法,但它有效。对于需要做类似事情的人来说,这可能是一个起点:

<div class="last-news">
<ul>
@foreach (var item in Model.ContentItems.ContentItems.Items)
{
    var max = (item.ContentItem.BodyPart.Text.Length > 100) ? 100 : item.ContentItem.BodyPart.Text.Length;
    <li><header>@Display(item.ContentItem.CommonPart.PublishedUtc.ToShortDateString())</header></li>
    <li><h1><a href="/@item.ContentItem.Parts[5].Path">@Display(item.ContentItem.TitlePart.Title)</a></h1></li>
    <li>@Display(Html.Raw(item.ContentItem.BodyPart.Text.Substring(0, max)))</li>
}
</ul>
</div>

它确实应该得到解释。Model.ContentItems这里确实是列表形状。当您使用它调用显示时,它将找到列表形状的最合适的模板(并且可以替代)并呈现。默认列表渲染仅渲染UL/LI,并且在列表元素的单个内容形状上显示的每个LI呼叫中显示,但带有摘要显示类型。当渲染效果时,系统会找到最相关的内容模板,该模板通常会呈现一堆区域,其中零件会根据位置推动。因此,有很多嵌套的层次发生了很多事情。不过,可以在任何级别上覆盖整个过程。困难是知道要放置什么。最简单的是探索形状跟踪中的模型,看看可以使用什么。本文显示了如何在特定情况下覆盖列表并完全接管列表:http://weblogs.asp.net/bleroy/archive/2011/03/27/taking-ober-list-rendering-in-orchard.aspx

Parts.Blogs.RecentBlogPosts视图显示Parts_Blogs_BlogPost_List Shape(Parts.Blogs.BlogPost.List.cshtml),显示Blogpost内容项。(您可以在最近的blogpostspartdriver.cs中看到它)。Blogpost内容类型由具有自己的形状和视图(或Orchard术语中的模板)组成的TitlePart和BodyPart零件组成。因此,要对这些模板进行一些更正,您可以尝试交替交替使用Parts_Blogs_BlogPost_ListParts_Common_Body_Summary和其他形状。

请参阅果园文档页面上的以下说明:

  1. 替代
  2. 访问和渲染形状

最新更新