加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Orchard查询按内容类型BlogPost和某些BlogId进行

发布时间:2020-12-16 06:25:19 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有两个博客的Orchard安装,其中一个用于公司新闻,另一个用于成员出版物. 我想创建一个小部件,显示公司新闻博客中的一部分帖子. 是否可以在Orchard中创建一个按ContentType BlogPost和BlogId过滤的查询? 我按内容类型找到了一个过滤器,但我没有找到
我有一个带有两个博客的Orchard安装,其中一个用于公司新闻,另一个用于成员出版物.

我想创建一个小部件,显示公司新闻博客中的一部分帖子.

是否可以在Orchard中创建一个按ContentType BlogPost和BlogId过滤的查询?
我按内容类型找到了一个过滤器,但我没有找到BlogId的过滤器.

解决方法

这将是一个非常简单的过滤器,可以在模块中添加.这是一个用id过滤的硬编码示例…

public class ContentIdFilter : IFilterProvider {
    private const int HardCodedId = 99;

    public ContentIdFilter() {            
        T = NullLocalizer.Instance;
    }

    public Localizer T { get; set; }

    public void Describe(DescribeFilterContext describe) {
        describe.For("Content",T("Content"),T("Content"))
            .Element("ContentId",T("Content Id"),T("Content w/ Id: " + HardCodedId.ToString()),ApplyFilter,DisplayFilter,null);
    }

    public void ApplyFilter(dynamic context) {
        var query = (IHqlQuery)context.Query;
        context.Query = query.Where(x => x.ContentItem(),x => x.Eq("Id",HardCodedId));
    }

    public LocalizedString DisplayFilter(dynamic context) {
        return T("Content w/ Id: " + HardCodedId.ToString());
    }
}

还有一点可以使Id编号可配置,但这应该让你走上正确的轨道.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读