Salesforce Article Management: Get DataCategories from DataCategoryName for 'Knowledge
Articles'
v Create DataCategory for Articles:
Setup
è Knowledge è
Data Category
Crate
new Data Category, named ‘SampleDataCategoryName’.
v Create DataCategoryValues and Map to
DataCategory:
Setup
è Knowledge è
Data Category Assignment
Add
SampleDataCategoryNames to SampleDataCategoryName.
For
example: SampleDataCategoryName1, SampleDataCategoryName2,
SampleDataCategoryName3
v Requirement:
There
are scenarios where we need to fetch all assigned DataCategory values based on
particular DataCategoryName.
Below
is the apex code to get all assigned
DataCategory values based on DataCategoryName as 'SampleDataCategoryName'.
String
dataCategoryGroupName = 'SampleDataCategoryName';
//variable
declaration
DataCategory
[] toplevelCategories;
DataCategory
[] childCategories;
List<String>dataCategoriesValues
= new List<String>();
List<DataCategoryGroupSobjectTypePair>
pairs = new List<DataCategoryGroupSobjectTypePair>();
DataCategoryGroupSobjectTypePair
pairObj = new DataCategoryGroupSobjectTypePair();
pairObj.setSobject('KnowledgeArticleVersion');
pairObj.setDataCategoryGroupName(dataCategoryGroupName);
pairs.add(pairObj);
List<DescribeDataCategoryGroupStructureResult>
describeCategoryStructureResult =
Schema.describeDataCategoryGroupStructures(pairs, false);
for(DescribeDataCategoryGroupStructureResult
result1 : describeCategoryStructureResult){
toplevelCategories =
result1.getTopCategories();
}
for(DataCategory
result2 : toplevelCategories){
childCategories = result2.getChildCategories();
}
for(DataCategory
result3 : childCategories){
dataCategoriesValues.add(result3.getLabel());
}
system.debug('dataCategoriesValues==>'+dataCategoriesValues);
//
Output is: dataCategoriesValues==>
SampleDataCategoryName1 , // SampleDataCategoryName2 , SampleDataCategoryName3 '
No comments:
Post a Comment