我正在尝试在Orchard的内容列表(admin / contents / list)中添加一个额外的过滤器选项。我开始通过内容类型复制现有的过滤器,并且已经达到了我能够显示我的新过滤器列表,填充它等等。
在AdminController for Contents中有一个名为List的ActionResult方法,它在初始加载时以及在发布查询之后发布(通过重定向)后都会被调用。查看内容类型的现有过滤器,我看到了:
query = query.ForType(model.TypeName);
我在这里有点困惑的是如何将此示例扩展为通过内容项的区域设置(Culture)进行查询。使用.ForPart方法是否有意义?虽然我在这里需要小心,因为在默认视图中我只想显示" en" - 但是我也希望显示没有LocalizationPart的任何项目(而不是我实际过滤特定的文化时 - 然后不想显示没有LocalizationPart的项目)
我已阅读以下内容,但这些似乎都没有解决我的确切情况(除非我读错了)..
如果有人能提供我在哪里看的指示,那将是非常感激的。
答案 0 :(得分:2)
如果指定了区域性,您可以添加query = query.Where<LocalizationPart, LocalizationPartRecord>(x => x.Culture == "en")
,而在其他情况下不要调用它。