Add Tags and Categories to Sitefinity then add it to a post is not working
I need to add Tags and Categories to Sitefinity dynamiclly i'm using the following code
For Categories
var catTaxon = manager.GetTaxonomies<Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxonomy>().Where(query => String.Compare(query.Name, "Categories", true) == 0).FirstOrDefault();catTaxon.Taxa.Add(manager.GetTaxon<Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxon>(taxonomy.Id));var tagTaxon = manager.GetTaxonomies<Telerik.Sitefinity.Taxonomies.Model.FlatTaxonomy>().Where(query => String.Compare(query.Name, "Tag", true) == 0).FirstOrDefault();tagTaxon.Taxa.Add(manager.GetTaxon<Telerik.Sitefinity.Taxonomies.Model.FlatTaxon>(taxonomy.Id));manager.SaveChanges();Hi,
This is the API that will craete new taxa in categories taxonomy, the approach is relevant for Tags.
var manager = TaxonomyManager.GetManager();//here take the CategoriesTaxonomyId, also you may take TagsTaxonomyId var CategoriesTaxonomy = manager.GetTaxonomy<HierarchicalTaxonomy>(TaxonomyManager.CategoriesTaxonomyId); var newDepartment = manager.CreateTaxon<HierarchicalTaxon>(); newDepartment.Title = "From Europe"; newDepartment.Name = "European "; newDepartment.Description = "This is Europe"; CategoriesTaxonomy.Taxa.Add(newDepartment); manager.SaveChanges();TaxonomyManager manager = TaxonomyManager.GetManager();// p.Title gets the name of one new taxonomy var taxonomy = manager.GetTaxonomies<HierarchicalTaxonomy>().Where(p => p.Title == "Sports").OrderBy(r => "Ordinal").Single().Taxa.ToList();Hi,
thanks for your previous replay,
i was able to save the tags and categories successfully.
but the problem now is to link a post to a category or tag
var manager = Telerik.Sitefinity.Taxonomies.TaxonomyManager.GetManager(); var taxon = manager.GetTaxa<Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxon>().Where(query => query.Name == category.Name).FirstOrDefault(); var blogPost = this._sitefinityAPI.BlogPosts().Where(query => query.Id == postId).First(); blogPost.CheckOut() .Do(item => if (!item.Organizer.TaxonExists("Category", taxon.Id)) item.Organizer.TaxonExists("Category", taxon.Id); ) .CheckIn() .Publish() .SaveChanges();Hello,
Review how taxa is associated with Item here. Organized.Addtaxa can be called when creating a blog post or in a list
BlogsManager blogsManager = BlogsManager.GetManager(); BlogPost bb = blogsManager.CreateBlogPost(); bb.Organizer.AddTaxa(...);var taxManager = TaxonomyManager.GetManager(); var taxon = taxManager.GetTaxa<FlatTaxon>().Where(t => t.Name == "Book").Single(); BlogsManager blogsManager = BlogsManager.GetManager(); var myPost = blogsManager.GetBlogPosts().Where(d => d.Title == "Post1"); foreach(var doc in myPost) doc.Organizer.AddTaxa("Tags", taxon.Id); blogsManager.SaveChanges();