Asp.net mvc 3 如何在Orchard CMS中呈现博客文章的各个部分(如标签)?
我正在尝试在此布局中呈现博客文章列表:Asp.net mvc 3 如何在Orchard CMS中呈现博客文章的各个部分(如标签)?,asp.net-mvc-3,orchardcms,Asp.net Mvc 3,Orchardcms,我正在尝试在此布局中呈现博客文章列表: [first post - special summary] [second post][third post][fourth post] [pager] 我试图自己呈现第一篇文章,然后循环其余的项目,使用博客文章摘要模板呈现它们 这里有一些问题: 这是解决问题的好办法吗 我试图实现的布局或 我应该开始考虑创建 模块 我应该创建一个摘要吗 我特别的第一篇文章的模板 渲染和我将如何进行 那个 如果我继续往下走 路径如何渲染标记之类的零件 邮寄日期呢 到目前
[first post - special summary]
[second post][third post][fourth post]
[pager]
我试图自己呈现第一篇文章,然后循环其余的项目,使用博客文章摘要模板呈现它们
这里有一些问题:
@using Orchard.Blogs.Extensions;
@using Orchard.Blogs.Models;
@using Orchard.ContentManagement;
@using Orchard.Utility.Extensions;
@{
IEnumerable<dynamic> blogPosts = Model.ContentItems;
Model.ContentItems.Classes.Add("content-items");
Model.ContentItems.Classes.Add("blog-posts");
var firstPost = blogPosts.FirstOrDefault();
//BlogPart blog = (BlogPart)firstPost.Get(typeof(BlogPart));
}
<h1>@firstPost.Title</h1>
by <span>@firstPost.ContentItem.CommonPart.Owner.NormalizedUserName</span>
@* How do i render tags using the tags part template? *@
@Display(firstPost.Tags)
@Display(firstPost.Parts_Tags_ShowTags)
@Display(firstPost.TagsPart)
@Display(firstPost.ContentItem.TagsPart)
@Display(firstPost.ContentItem.TagsPart.ContentItem)
@* none of the above work *@
<hr />
<ul class="content-items">
@foreach (var post in blogPosts.Skip(1))
{
<li class="content-item-summary">
@Display(post)
</li>
}
</ul>
但我能做到
@Display(blogPosts)
哦,嗨。试试这个:
@using Orchard.Blogs.Extensions;
@using Orchard.Blogs.Models;
@using Orchard.ContentManagement;
@using Orchard.Utility.Extensions;
@{
IEnumerable<dynamic> blogPosts = Model.ContentItems;
Model.ContentItems.Classes.Add("content-items");
Model.ContentItems.Classes.Add("blog-posts");
var firstPost = blogPosts.FirstOrDefault();
var otherPosts = blogPosts.Skip(1).ToList();
}
<h1>@firstPost.Title</h1>
by <span>@firstPost.ContentItem.CommonPart.Owner.NormalizedUserName</span>
@Display(New.MyTagShape(Tags: firstPost.ContentItem.TagsPart.CurrentTags))
<hr />
@Display(New.List().AddRange(otherPosts))
@使用Orchard.Blogs.Extensions;
@使用Orchard.Blogs.Models;
@采用果园管理;
@使用Orchard.Utility.Extensions;
@{
IEnumerable blogPosts=Model.ContentItems;
Model.ContentItems.Classes.Add(“内容项”);
Model.ContentItems.Classes.Add(“博客帖子”);
var firstPost=blogPosts.FirstOrDefault();
var otherPosts=blogPosts.Skip(1.ToList();
}
@第一篇文章,标题
发件人@firstPost.ContentItem.CommonPart.Owner.NormalizedUserName
@显示(New.MyTagShape(标记:firstPost.ContentItem.TagsPart.CurrentTags))
@显示(新建.List().AddRange(其他帖子))
这是MyTagShape.cshtml的代码:
Here are your tags:
<ul>
@foreach (var tag in Model.Tags) {
<li>@tag.TagName</li>
}
</ul>
以下是您的标签:
@foreach(Model.Tags中的var标记){
- @标记名
}
在我的机器上工作。
但正如我在论坛上所说的,您可能希望自定义摘要模板,而不是整个列表
编辑:下面是如何为第一项创建不同的模板:哦,这些类现在没有任何用途,您可能希望将它们移动到新的列表形状,而我忽略了这样做。
Here are your tags:
<ul>
@foreach (var tag in Model.Tags) {
<li>@tag.TagName</li>
}
</ul>