public function TaxonomyManagerTree::getPartialTree in Taxonomy Manager 2.0.x
Same name and namespace in other branches
- 8 src/Element/TaxonomyManagerTree.php \Drupal\taxonomy_manager\Element\TaxonomyManagerTree::getPartialTree()
Returns partial tree for a given path.
1 call to TaxonomyManagerTree::getPartialTree()
- TaxonomyManagerTree::getFirstPath in src/
Element/ TaxonomyManagerTree.php - Helper function to calculate path.
File
- src/
Element/ TaxonomyManagerTree.php, line 241
Class
- TaxonomyManagerTree
- Taxonomy Manager Tree Form Element.
Namespace
Drupal\taxonomy_manager\ElementCode
public function getPartialTree($path, $depth = 0) {
$tree = [];
$parent = $path[$depth];
$children = \Drupal::entityTypeManager()
->getStorage('taxonomy_term')
->loadChildren($parent
->id());
if (isset($path[++$depth])) {
$next_term = $path[$depth];
}
$index = 0;
foreach ($children as $child) {
$child->depth = $depth;
$child->parents = [
0 => $parent->tid,
];
$tree[] = [
'title' => $child
->getName(),
'key' => $child
->id(),
'expanded' => TRUE,
'selected' => TRUE,
];
if (isset($next_term) && $child
->id() == $next_term
->id()) {
$tree[$index]['children'] = TaxonomyManagerTree::getPartialTree($path, $depth);
}
$index++;
}
return $tree;
}