オーチャードCMSを使用しています。私は私のページに2つのDIVを持っています。最初のDIVには、ブログ投稿の詳細が掲載されています。別のDIVに同じカテゴリの投稿を配置したい関連するブログ投稿を読み込むには?
どうすればいいですか?我々は、このモジュールRelated Contentを使用
protected override DriverResult Display(RelatedPostsPart part, string displayType, dynamic shapeHelper) {
return ContentShape("Parts_Blogs_RelatedPosts",() => {
// To prevent infinite loop
if (!displayType.Equals("Detail", StringComparison.OrdinalIgnoreCase)) {
return null;
}
var blogPast = part.As<BlogPostPart>();
if (blogPast == null || blogPast.BlogPart == null) {
return null;
}
var blog = blogPast.BlogPart;
// You can set the count in blog post settings to be configurable
var blogPosts = _contentManager.Query(VersionOptions.Published, "BlogPost")
.Join<CommonPartRecord>().Where(cr => cr.Container.Id == blog.Id && cr.Id != part.Id)
.OrderByDescending(cr => cr.CreatedUtc)
.Slice(0, 5)
.Select(ci => ci.As<BlogPostPart>());
var list = shapeHelper.List();
list.AddRange(blogPosts.Select(bp => _contentManager.BuildDisplay(bp, "Summary")));
var blogPostList = shapeHelper.Parts_Blogs_BlogPost_List(ContentItems: list);
return shapeHelper.Parts_Blogs_RelatedPosts(ContentItems: blogPostList, Blog: blog);
});
}
ブログ投稿にContent pickerフィールドを使用することができます –