【问题标题】:Filter Tags in Orchard CMS to only Blogs将 Orchard CMS 中的标签过滤为仅博客
【发布时间】:2014-07-29 17:02:50
【问题描述】:

在 Orchard CMS 中,我试图找到一种方法来过滤标签云中的标签,以便仅从博客文章中返回标签。目前,标签云会返回所有内容类型的标签。

我在 Orchard 1.7.1 中使用默认的标签云。

如果管理员中有设置,很好,如果没有,我在 TagCloudService.cs 中找到了一个查询。这是我需要编辑的。如果是这样,有人可以帮助我使用我需要在此处添加的过滤器以仅包含博客文章

tagCounts = _contentManager
                .Query<TagsPart, TagsPartRecord>(VersionOptions.Published)
                .Join<CommonPartRecord>()
                .Where(t => t.Container.Id == containerId)
                .List()
                .SelectMany(t => t.CurrentTags)
                .GroupBy(t => t)
                .Select(g => new TagCount {
                    TagName = g.Key,
                    Count = g.Count()
                })
                .ToList();

谢谢

【问题讨论】:

    标签: orchardcms tag-cloud


    【解决方案1】:

    将对Query 的调用替换为.Query().ForPart&lt;TagsPart&gt;().ForType("BlogPost").ForVersion(VersionOptions.Published).Join&lt;TagsPartRecord&gt;()

    【讨论】:

    • 我对过滤器有额外的要求。博客文章有 3 个分类字段,与您的教程相关,此处为 weblogs.asp.net/bleroy/using-taxonomies-in-orchardlink。如何包含基于分类字段的过滤器。例如,博客文章有一个分类字段,文章类型。我只希望在标签云中返回特定文章类型的博客文章中的标签。
    • 这是一个新问题。我认为您必须为此切换到 Hql 查询,并查看分类模块的服务类源代码以了解它们如何执行此类查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    相关资源
    最近更新 更多