标题几乎总结了它。我在Orchard创建了自己的模块。我可以通过http请求访问其操作,就像任何MVC应用程序中的普通控制器一样。
我使用命令行界面生成了控制器,它带有在构造函数中填充的IOrchardServices属性。
在我的Orchard网站上,我有一个博客,我填写了大约40篇博文。 如何从我的控制器中查询这些博客文章?
答案 0 :(得分:3)
首先,我想先说:"阅读源luke"。您可能会发现Orchard缺少文档和示例,但由于它是开源的,因此可以在那里找到您想知道的所有内容。
您应该使用BlogPostService,将其注入您的控制器以获取您想要的博客文章。
你可以看到它在Orchard.Blogs中的几个控制器中使用:
查看BlogPostService中的代码以查看它是如何工作的,这有点令人困惑,因为博客是包含博客帖子的内容项目。如果您想了解更简单的查询内容项,我会查看BlogService的工作原理,它更容易掌握:
答案 1 :(得分:1)
这是我正在寻找的一个例子:
var query = Services.ContentManager.Query();
var list = query.ForType(new []{"BlogPost"}).List();
var result = new List<dynamic>();
foreach (var contentItem in list) {
result.Add(new
{
title = contentItem.As<TitlePart>().Title, // dynamically typed: ((dynamic)contentItem).TitlePart.Title
text = contentItem.As<BodyPart>().Text
});
}