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();