Sitefinity:按博客ID获取博客类别

时间:2014-03-05 11:18:14

标签: c# blogs categories sitefinity

我想要一个与一个或多个博客相关联的所有类别的列表。 我能够获得所有博客和博客ID的列表。 如何通过与该博客相关联的博客ID获取类别ID。

BlogsManager blogsManager = BlogsManager.GetManager();
var bb = blogsManager.GetBlogPosts()
                     .Where(b => b.Status == ContentLifecycleStatus.Live) 
                     .ToList();

foreach (var blogItem in bb)
{
    var blogID = blogItem.Id ;
    //get Category ID here 
}

1 个答案:

答案 0 :(得分:2)

确保您在控件或页面中使用以下语句:

using Telerik.OpenAccess;
using Telerik.Sitefinity.GenericContent.Model;
using Telerik.Sitefinity.Model;
using Telerik.Sitefinity.Modules.Blogs;
using Telerik.Sitefinity.Taxonomies;

我修改了您的上述代码,以获取分配给每个帖子的类别:

BlogsManager blogsManager = BlogsManager.GetManager();
var bb = blogsManager.GetBlogPosts()
                     .Where(b => b.Status == ContentLifecycleStatus.Live)
                     .ToList();

foreach (var blogItem in bb)
{
    var blogID = blogItem.Id;
    var categoryIds = blogItem.GetValue<TrackedList<Guid>>("Category");

    var taxonomyManager = TaxonomyManager.GetManager();

    foreach (var catId in categoryIds)
    {
        var taxon = taxonomyManager.GetTaxon(catId);

        var id = taxon.Id;
        var name = taxon.Name;

    }
}